算术运算符
+(加) -(减) *(乘) /(除) ++(自增) --(自减) %(取余)
区分++i 、 i++的区别 ,自减同
int i=5; int x=++i; // x=6 int y=i++; //y=5
++i 是先把 i 的值进行自增,然后再赋值给x
i++是先把 i 的值赋给y,然后 i 再进行自增
结论:++放前面就先进行自增,再操作,放后面就先操作,再自增。
关系运算符
==(等于) !=(不等于) >(大于) <(小于) >=(大于等于) <=(小于等于)
逻辑运算符
&&(逻辑与) ||(逻辑或) !(逻辑非)
&&:必须左右两边都为true结果才是true,否则为false
1>2 && 2<3 //false 3>1 && 4<5 //true
当左边结果为false时,结果直接就是false,不会再去判断右边的表达式。只有当左边结果为true时才会去判断右边表达式
||:左右两边只要有一边为true,则结果为true
3>2 || 2<1 //true 3<2 || 2>5 //false
当左边为true是就不会去判断右边的表达式
! :取反
3>2 //true !(3>2) //false
将结果取反,true变为false,false变为true
赋值运算符
= 、 += 、 -= 、 *= 、 /= 、(%)=
int a=2; int c=1; c+=a; //c=3
c+=a 和 c=c+a 意思相同
三元运算符
int a=3; int b=4;
int c=2;
int d=1; int c=a>b?c:d; //c=1
三元运算符要先判断布尔表达式,当a>b为true时 ,结果值为c的值。当a>b为false时,结果为d的值。
运算符优先级不用特地去记,多用()来决定优先级