运算符
算术运算符:+(加),-(减),*(乘),/(除),%(取余,模运算),++,--
赋值运算符:=
关系运算符:>(大于),<(小于),>=(大于等于),<=(小于等于),!=(不等于)
逻辑运算符:&&(与),||(或),!(非)
位运算符:&,|,^,~,>>,<<,>>>
条件运算符:? :
扩展赋值运算符:+=,-=,*=,/=
int a=10;
int b=20;
int c=25;
int d=25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);
System.out.println("=================");
long a1=12316546313L;
int b1=123;
short c1=10;
byte d1=8;
System.out.println(a1+b1+c1+d1);//long 有long类型就输出long类型
System.out.println(b1+c1+d1);//int 有int类型就输出int类型
System.out.println((c1+d1));//int
自增
a++ //先赋值,再自增
++a //先自增,再赋值
逻辑运算
与运算:全1出1,有0出0
或运算:有1出1,全0出0
非运算:1变为0,0变为1
位运算
a= 0011 1100
b= 0000 1101
------------------------------------
a&b= 0000 1100
a|b= 0011 1101
a^b= 0011 0001
~b= 1111 0010
<< //右移一位乘以一个2
>> //左移一位除以一个2
三元运算
//x ? y : z
//如果x == true,输出为y,否则为z
Java运算符优先级
优先级 | 运算符 | 结合性 |
---|---|---|
1 | ()、[]、{} | 从左向右 |
2 | !、+、-、~、++、– | 从右向左 |
3 | *、/、% | 从左向右 |
4 | +、- | 从左向右 |
5 | «、»、>>> | 从左向右 |
6 | <、<=、>、>=、instanceof | 从左向右 |
7 | ==、!= | 从左向右 |
8 | & | 从左向右 |
9 | ^ | 从左向右 |
10 | | | 从左向右 |
11 | && | 从左向右 |
12 | || | 从左向右 |
13 | ?: | 从右向左 |
14 | =、+=、-=、*=、/=、&=、|=、^=、~=、«=、»=、>>>= | 从右向左 |