二.运算符
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
1.算术运算符
算术运算符是对数值类型的变量进行运算的,在 Java 程序中使用的非常多

++: 如果是变量前缀:先对此变量加 1,再执行其他的操作。 如果是变量后缀:先执行当前语句的其他操作,再对此变量加 1
--: 如果是变量前缀:先对此变量减 1,再执行其他的操作。 如果是变量后缀:先执行当前语句的其他操作,再对此变量减 1
public static void main(String[] args) {
// /使用
System.out.println(10 / 4); //从数学来看是 2.5, java 中 2
System.out.println(10.0 / 4); //java 是 2.5
// 注释快捷键 ctrl + /, 再次输入 ctrl + / 取消注释
double d = 10 / 4;//java 中 10 / 4 = 2, 2=>2.0
System.out.println(d);// 是 2.0
// % 取模 ,取余
// 在 % 的本质 看一个公式!!!! a % b = a - a / b * b
// -10 % 3 => -10 - (-10) / 3 * 3 = -10 + 9 = -1
// 10 % -3 = 10 - 10 / (-3) * (-3) = 10 - 9 = 1
// -10 % -3 = (-10) - (-10) / (-3) * (-3) = -10 + 9 = -1
System.out.println(10 % 3); //1
System.out.println(-10 % 3); // -1
System.out.println(10 % -3); //1
System.out.println(-10 % -3);//-1
//++的使用
//
int i = 10;
i++;//自增 等价于 i = i + 1; => i = 11
++i;//自增 等价于 i = i + 1; => i = 12
System.out.println("i=" + i);//12
/*
作为表达式使用
前++:++i 先自增后赋值
后++:i++先赋值后自增
*/
int j = 8;
//int k = ++j; //等价 j=j+1;k=j;
int k = j++; // 等价 k =j;j=j+1;
System.out.println("k=" + k + "j=" + j);//8 9
}
2. 关系运算符(比较运算符)
1) 关系运算符的结果都是 boolean 型,也就是要么是 true,要么是 false
2) 关系表达式 经常用在 if 结构的条件中或循环结构的条件中

1) 关系运算符的结果都是 boolean 型,也就是要么是 true,要么是 false。
2) 关系运算符组成的表达式,我们称为关系表达式。 a > b
3) 比较运算符"=="不能误写成"="
3.逻辑运算符
用于连接多个条件(多个关系表达式),最终的结果也是一个 boolean 值。
1) 短路与 && , 短路或 ||,取反 !
2) 逻辑与 &,逻辑或 |,^ 逻辑异或
1) a&b : & 叫逻辑与:规则:当 a 和 b 同时为 true ,则结果为 true, 否则为 false
2) a&&b : && 叫短路与:规则:当 a 和 b 同时为 true ,则结果为 true,否则为 false
3) a|b : | 叫逻辑或,规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false
4) a||b : || 叫短路或,规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false
5) !a : 叫取反,或者非运算。当 a 为 true, 则结果为 false, 当 a 为 false 是,结果为 true
6) a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, 否则为 false
&& 和 & 使用区别
1) &&短路与:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false,效率高
2) & 逻辑与:不管第一个条件是否为 false,第二个条件都要判断,效率低
4.赋值运算符
赋值运算符作用是将一个值赋给一个变量,运算顺序从右到左

5.三元运算符
X ? Y : Z X 为 boolean 类型表达式,先计算 x 的值,若为 true,整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。
6.运算符优先级


浙公网安备 33010602011771号