从零开始学java(七)--位,字符串连接符,条件运算符与运算符优先级

从零开始学java(七)--位,字符串,条件运算符与运算符优先级

  • 位运算符
  • 字符串连接符
  • 条件运算符
  • 运算符的优先级

位运算符

从零开始学java(七)--位,字符串连接符,条件运算符与运算符优先级_第1张图片

int a = 3*2*2;
int b = 3<<2; //相当于:3*2*2;
int c = 12/2/2;
int d = 12>>2; //相当于12/2/2;

注意事项

  • &和|既是逻辑运算符,也是位运算符。如果两侧操作数都是boolean类型,就作为逻辑运算符。如果两侧的操作数是整数类型,就是位运算符。
  • 不要把“^”当做数学运算“乘方”,是“位的异或”操作。

字符串连接符

“+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。

 int a=12;
 System.out.println("a="+a);//输出结果: a=12

条件运算符

条件运算符的语法格式:

x ? y : z

其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。

三目条件运算符

int score = 80; 
int x = -100;

String type =score<60?"不及格":"及格"; 

int flag = x > 0 ? 1 : (x == 0 ? 0 : -1);

System.out.println("type= " + type);
System.out.println("flag= "+ flag);

运算符的优先级

从零开始学java(七)--位,字符串连接符,条件运算符与运算符优先级_第2张图片
老鸟建议

  • 大家不需要去刻意的记这些优先级,表达式里面优先使用小括号来组织!!
  • 逻辑与、逻辑或、逻辑非的优先级一定要熟悉!(逻辑非>逻辑与>逻辑或)。如:
  • a||b&&c的运算结果是:a||(b&&c),而不是(a||b)&&c

你可能感兴趣的:(从零开始学java,java,编程语言,javase)