运算符 优先级:使用()
-
算数运算符:+,-,*,/,%(取余),++,--
-
赋值运算符:=
-
关系运算符:>,<,>=,<=,==,!=,instanceof
-
逻辑运算符:&&,||,!(与,或,非)
-
位运算符:&,|,^,~,>>,<<,>>>(了解)
-
条件运算符:?,:
-
扩展赋值运算符:+=,-=,*=,/=
一元运算符:++ --
a++ //a=a+1 后执行
++a //先执行
逻辑运算符
-
&&:逻辑与运算:两个变量都为真,结果才为true
-
||:逻辑或运算:两个变量有一个为真,则结果才为true
-
!:如果是真,则变为假,如果是假则变为真
短路运算
int c = 5; boolean d =(c<4)&&(c++<4);
若前面为假则不运行后面的
位运算符
A = 0011 1100
B= 0000 1101
与:A&B = 0000 1100
或:A|B = 0011 1101
亦或:A^B = 0011 0001 #相同为0否则为1
非:~B = 1111 0010
例:计算2*8最快 2*2*2*2
左移<< : *2
右移<<:/2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0100 4
0000 1000 8
0001 0000 16
扩展赋值运算符
a+=b;//a = a+b
a-=b;//a = a-b
字符串连接符 +
int a = 10; int b = 20; System.out.println(""+a+b); //字符串在前自动拼接 System.out.println(a+b+""); //字符串在后先进行计算
输出:
1020
30
三元运算符
x ? y : z
//如果x==true,则结果为y,否则结果为z