算数运算符:
public class Demo03 {
public static void main(String[] args) {
int a = 2;
int b = 3;
System.out.println(a+b);//5
System.out.println("字符"+a+b);//字符2323
System.out.println(a+"字符"+b+"字符");//2字符3字符
System.out.println(a+"字符"+b);//2字符3
System.out.println(a+b+"字符");//5字符
System.out.println(a+b+"字符");//5字符
}
}
+(前面或中间出现String,后面都转换成String连接,最后面不会),-,*,/,%,++(在前为先自增后赋值,在后为先赋值后自增,--同理),--
赋值运算符:
=
关系运算符:结果为正确,错误
<,>,>=,<=,==,!=
逻辑运算符:短路运算
&&,||,!
条件运算符:
?:
位运算符:
public class Demo02 {
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~B = 1111 0010
2*8 = 16 2*2*2 = 16
<< *2
>> /2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0100 4
0000 1000 8
0001 0000 16
0010 0000 32
0100 0000 64
*/
System.out.println(2<<3);//16
}
}
&,|,^,~,>>,<<,>>>
扩展赋值运算符:
+=,-=,*=,/=
优先级:
| 优先级 | 运算符 | 结合性 |
|---|---|---|
| 1 | ()、[]、{} | 从左向右 |
| 2 | !、+、-、~、++、-- | 从右向左 |
| 3 | *、/、% | 从左向右 |
| 4 | +、- | 从左向右 |
| 5 | «、»、>>> | 从左向右 |
| 6 | <、<=、>、>=、instanceof | 从左向右 |
| 7 | ==、!= | 从左向右 |
| 8 | & | 从左向右 |
| 9 | ^ | 从左向右 |
| 10 | | | 从左向右 |
| 11 | && | 从左向右 |
| 12 | || | 从左向右 |
| 13 | ?: | 从右向左 |
| 14 | =、+=、-=、*=、/=、&=、|=、^=、~=、«=、»=、>>>= | 从右向左 |
浙公网安备 33010602011771号