基本赋值运算符:就是一个等号“=”,代表将右侧的数据交给左侧的变量。
int a = 10;
复合赋值运算符:
+= a += 3 相当于 a = a + 3
-= b -= 4 相当于 b = b - 4
*= c *= 5 相当于 c = c * 5
/= d /= 6 相当于 d = d / 6
%= e %= 7 相当于 e = e % 7
注意事项:
1. 只有变量才能使用赋值运算符,常量不能进行赋值。
2. 复合赋值运算符其中包含了一个强制类型转换。
例如: byte num = 10;
num += 5;
// num = num + 5;
// num = byte + int;
// num = int + int;
// num = int;
// num =(byte) int;
与(并且) && 全都是true,才是true;否则就是false
或(或者) || 至少一个是true,就是true;全都是false,才是false
非(取反) ! 本来是true,变成false;本来是false,变成true
与“&&”,或“||”,具有短路效果:如果根据左边已经可以判断得到最终结果,那么右边的代码不再执行,从而节省一定的性能。
例如: int b = 20;
System.out.println(3 < 4 || ++b < 100); //结果是true
// true||...
System.out.println(b); //结果是20
注意事项:
1. 逻辑运算符只能用于boolean值。
2. 与、或需要左右各自有一个boolean值,但是取反只要有唯一的一个boolean值即可。
3. 与、或两种运算符,如果有多个条件,可以连写。
两个条件:条件A && 条件B
多个条件:条件A && 条件B && 条件C
TIPS:
对于1 < x < 3的情况,应该拆成两个部分,然后使用与运算符连起来:
int x = 2;
1 < x && x < 3
三元运算符
一元运算符:只需要一个数据就可以进行操作的运算符。例如:取反!、自增++、自减–
二元运算符:需要两个数据才可以进行操作的运算符。例如:加法+、赋值=
三元运算符:需要三个数据才可以进行操作的运算符。
格式:
数据类型 变量名称 = 条件判断 ? 表达式A :表达式B;
流程:
首先判断条件是否成立:
如果成立为true,那么将表达式A的值赋值给左侧的变量;
如果不成立为false,那么将表达式B的值赋值给左侧的变量;
二者选其一。
例如: int a = 10;
int b = 20;
int max = a > b ? a : b;
注意事项:
1. 必须同时保证表达式A和表达式B都符合左侧数据类型的要求。
// int result = 3 > 4 ? 2.5 : 10; //错误写法!
2. 三元运算符的结果必须被使用。
// a > b ? a : b; //错误写法!