运算符
算术运算符
+ - * / %
++ --
不要使用小数进行相等判断
++:一元运算符,把原数据加1,再放回去。
例:i++ 等价于 i=i+1;
i++ 或 ++i单独出现时,没有区别,都是直接加1就行。
i++;
++i;
当参与混合运算时,i++是先使用后加1,++i是先加1后使用。
当一个计算公式中 ,出现了很多种数据类型的时候,运算结果,是参与运算的最大数据类型,
比如 byte int float 进行运算 , 结果是 float类型。
如果只有 byte short int char 四种类型中,任意一种或多种进行运算结果都是int类型。
关系运算符
> >= < <= == !=
关系运算符的结果一定是布尔类型 true/false。
判断是否相同,要用 == 两个 = ., 因为 = 在java中是赋值。
逻辑运算符
& :位与,两边条件都成立(true) , 结果才是true。
| :位或 , 两边条件只要有一边成立(true) , 结果就是true。
! : 位非 , 取反,真就变成假 , 假就变成真。
^ :位异或,两边不一样,结果就是true , 真假为真, 真真为假, 假假为假, 假真为真。
&&:短路与,两边条件都成立(true) , 结果才是true , 如果第一个条件为假,则第二个条件不再执行。
||: 短路或 , 两边条件只要有一边成立(true) , 结果就是true,如果第一个条件为真,结果一定是真,则第二个条件不再执行。
这里a>b为false 所以短路不进行短路与后面式子的运算,b没有进行++,b为11。
& : 还支持两边是数字,进行与运算。
^ : 可以进行位异或运算,转二进制,不同取1,相同取0。
~ : 按位非,转二进制,取反。
<< : 左移运算。左移一次,相当于该数乘2。
符号位不变
0 000 0010 左移1次 , 等于 除符号位 , 第一位删除,在最右边补0。
0 00 00100
赋值运算符
=:把右边的赋值给左边。
+=:左边和右边相加,结果赋值给左边,a+=b;等价于 a=a+ b;
-=:左边减去右边,结果赋值给左边,a-=b; 等价于 a=a-b;
*=左边和右边相乘,结果赋值给左边,a*=b; 等价于 a=a*b;
/=左边对右边相除,结果赋值给左边,a/=b; 等价于 a=a/b;
%=左边对右边取余,结果赋值给左边,a%=b; 等价于 a=a%b;
右结合,从右到左计算
字符串拼接符
+:既是加和运算符,也是字符串拼接符,用于把两边数据拼接成一个字符串。
字符串中的变量名是无效的,不能做到变量调用。
从左到右计算,由于左面是字符串,所以+是字符串拼接符。结果为
结果为:a+b=22
三目运算符
根据不同的结果,给出不同的处理
布尔型表达式 ?为真执行:为假执行;
布尔型表达式:只要运算结果是个布尔型即可,比如关系运算、逻辑运算等。
三目运算可以发生嵌套
-1 说明a 小,0说明相同,1说明a大。
标签:Java,运算,结果,++,左边,运算符,使用,true From: https://blog.csdn.net/weixin_53420002/article/details/137040631