赋值运算符
A:赋值运算符有哪些
=, +=,-=,*=,/=,%=
注意事项:
a:基本的赋值运算符:=
把=右边的数据赋值给左边。
b:扩展的赋值运算符:+=,-=,*=,/=,%=
+= 把左边和右边做加法,然后赋值给左边。
c: 赋值运算符要求左边的数据必须是一个变量
逻辑运算符
1.逻辑运算符:&(并且) , |(或者) , !(非) , ^(异或) , &&(短路与) , ||(短路或)
**注:a:逻辑运算符一般用于连接boolean类型的表达式或者值。
在Java中我们要表示一个数大于3并且小于6 ,不可以写成3<x<6,应该写成 x>3 & x<6 。
b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
算术表达式:a + b
关系表达式:a == b**
2.用法:
**&逻辑与:有false则false。
|逻辑或:有true则true。
^逻辑异或:相同为false,不同为true。
举例:情侣关系。
!逻辑非:非false则true,非true则false。
特点:偶数个不改变本身。**
3.注意:
**&&和&的区别?(||和|同理)
a:最终结果一样。
b:&&具有短路效果。左边是false,右边不执行。**
位运算符
1.位异或运算符的特点
^的特点:一个数据被另一个数据位异或两次,该数本身不变。
自己位异或自己是0 8^8 结果是0
<<:左移 空位补0,被移除的高位丢弃。
>>:右移 被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,高位补1。
>>>:无符号右移 被移位二进制最高位无论是0或者是1,空缺位都用0补。
2.结论:
<< : 把<<左边的数据乘以2的移动次幂 例如 10<<3 结果 10*2^3=80
>> : 把>>左边的数据除以2的移动次幂 例如 40>>3 结果 40/2^3=5
三元运算符
A:三元(三目)运算符的格式
(关系表达式) ? 表达式1 : 表达式2;
int a=(10>20)?30:50; a=50
B:三元运算符的执行流程
计算关系表达式的值,如果为true, 运算后的结果是表达式1;
如果为false,运算后的结果是表达式2;