1.算术运算符
1.基本的算数运算符:- + / %(两个数相除取余)
2.扩展的算术运算符:-- ++
3.无论是-- 还是 ++,在数据之前还是数据之后 都是对当前数据本身进行自增一或者自减一
– ++参与运算时使用
++ – 在数据之后使用 先进行运算 ,在进行自增一或者自减一
++ – 在数据之前使用 先进行自增一或者自减一 然后再进行运算
eg:
int x = 4;
int y = (x++)+(++x)+(x*10);
System.out.println("x:"+x);//6
System.out.println("y:"+y);//70
2.赋值运算符
基本的赋值运算符:= 将等号右边的值赋值给左边的某个类型的变量
扩展的算数运算符:+= -= *= /= %=
+= :将等号右边的值和左边的变量进行相加,然后再将结果赋值给左边的变量
3.比较运算符
比较关系运算符: > < <= >= != ==
注意事项:无论当前比较运算符连接的是简单的数据类型还是复杂的表达式
最终的结果都是boolean类型
4.逻辑运算符
基本的逻辑运算符:
逻辑& 结论 有false 则false
逻辑| 结论 有true 则true
逻辑^ :相同则为false 不同则为true
逻辑! 结论 : 非false 则true 非true则false
扩展的逻辑运算符:
逻辑双与&&
逻辑双或||
逻辑双与与逻辑单与的区别?如果符号左边的为false右边的则不执行
同理逻辑双或与逻辑单或 左边成立 右边不执行
5 位运算符
注意:将要进行计算的数现转化成二进制方便计算
位与&: 有0则0
位或| 有1则1
位异或 相同则为0,不同则为1 特点:一个数据位异或另一个数据两次 其值是他本身
~ 反码:逐位取反,(补码)然后还需要通过得到反码----->原码
正数的反码补码原码相同
负数的反码是对其原码逐位取反,但符号位除外。负数的补码是在其反码的末位加1
负数 :补码-1 --> 反码 逐位取反—>原码
<< 左移 将当前<<符号左边的数据乘以2的移动次幂
>> 右移 将当前>>符号左边的数据除以2的移动次幂
>>>无符号右移 最高位无论是1还是0都补0
6三元运算符(三目)
(表达式)?执行true的结果 :执行false结果;
运算符的运算顺序
优先级 描述 运算符
1 括号 ()、[]
2 正负号 +、-
3 自增自减, 非 ++、–、!
4 乘除,取余 、/、%
5 加减 +、-
6 移位运算 <<、>>、>>>
7 大小关系 >、>=、<、<=
8 相等关系 ==、!=
9 按位与 &
10 按位异或 ^
11 按位或 |
12 逻辑与 &&
13 逻辑或 ||
14 条件运算 ?:
15 赋值运算 =、+=、-=、=、/=、%=
16 位赋值运算 &=、|=、<<=、>>=、>>>=