运算符
算术运算符: + 、 - 、* 、 / 、 %
%表示取模运算,得到两个数相除之后的余数
x++、x-- 和 ++x、--x
int y = x++;//y = x;x = x+1; 先赋值或运算,运算和赋值结束再把变量加一
int z = ++x;//x = x+1; z = x; 先把变量加一,再赋值或运算
关系运算符 : > 、 >= 、 <=、 == 、 !=
关系运算符计算后的结果一定是一个boolean值
== 比较两个数是否相等,如果相等满足条件
!= 比较两个数是否不相等,如果不相等满足条件
= 和== 的区别。
= 是赋值语句,将=右边的内容赋值给=左边的变量
==是比较两个数是否相等,结果是boolean值
逻辑运算符 : || && !
逻辑运算符的操作数必须是布尔值
&& 表示两个条件都为真,结果才为true,否则都为false
&& 为短路运算符,当第一个条件为假的时候,不再做后面的判断(效率更高)
& 非短路运算符,不管第一个条件为真还是假,都会判断第二个条件
|| 表示任意一个条件为真,结果都为true,两个条件都为假,则结果为false
!非运算符,表示将真变成假,将假变成真(取反)
三目运算符
x= c? a : b
?之前的c是一个布尔表达式,表达式为true时,将a的值返回;为false时,将b的值返回。
扩展赋值运算符
+= 、-= 、*= 、/=
int x = 8;
x += 2;//x = x + 2; ---运算和 并不完全等价
x += 1.2;// x = (int) (x + 1.2); 自动强转
String s = "abc";
s += "****";//s = s + "***"; ---连接符号
运算符优先级(从高到低)
括号,点,分号
一元运算符(操作数只有一个):++ 、--、! (类型强转)
算术运算符:+、-、优先级低于 *、/、%
关系运算符:>、<、>=、<=、==、!=
逻辑运算符: && 优先级高于 ||
赋值运算符:=、+= 、-= 、*= 、/=