算术运算符
+ - * / %
%:取余结果符号与被模数的符号相同 -12%5 =-2
A++ 先运算,再加一
++A 先加一,再运算
自增不会改变数据类型
赋值 =
比较运算符
> < >= <= ==
逻辑运算符
短路或 || 短路与 &&
或 | 与 &
短路与 和 与 的区别
相同点:&与&&运算结果相同
区别:
当前面为false的时候
与&会执行符号右边代码(num++)
短路与&&不会执行符号右边(num++)
boolean b1=false;
int num=10;
if(b1&(num++>0))
System.out.println("hhhhh");
else
System.out.println("bbbbbb");
System.out.println(num);
boolean b2=false;
int num1=10;
if(b2&&(num1++>0))
System.out.println("hhhhh");
else
System.out.println("bbbbbb");
System.out.println(num1);
运行结果:
bbbbbb
11
bbbbbb
10
短路或 || 和 或 | 的区别
相同点:|与||运算结果相同
区别:
当前面为true的时候
或会执行符号右边代码(num++)
短路或不会执行符号右边(num++)
boolean b1=true;
int num=10;
if(b1|(num++>0))
System.out.println("hhhhh");
else
System.out.println("bbbbbb");
System.out.println(num);
boolean b2=true;
int num1=10;
if(b2||(num1++>0))
System.out.println("hhhhh");
else
System.out.println("bbbbbb");
System.out.println(num1);
运算结果:
hhhhh
11
hhhhh
10
三元运算符
结构:(条件表达式)?表达式1:表达式2
如果条件表达式为真,则执行表达式1;
否则执行表达式2;
三元比if-else 的效率高