1. 算数运算符
1.1 : a%b = a - a/b * b
// % 取模 ,取余
// 在 % 的本质 看一个公式!!!! 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.5%3;
// -10.5%3 = -10.5 - (int)(-10)/3 * 3 = -1.5
看下面例子,输出 i = 66;
int i = 66;
i = i++;
sout(i); // i = 66
解释如下:
2:逻辑运算符
1.短路与 && , 短路或 ||,取反 !
2.逻辑与 &,逻辑或 |,^ 逻辑异或
&& 和 & 使用区别
&&短路与:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false,效率高
& 逻辑与:不管第一个条件是否为 false,第二个条件都要判断,效率低
开发中, 我们使用的基本是使用短路与&&, 效率高
|| 和 | 使用区别
|| 短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true,效率高
| 逻辑或:不管第一个条件是否为 true,第二个条件都要判断,效率低
开发中,我们基本使用 ||
根据题目来具体理解
3. 赋值运算符
// 运算顺序从右往左
// 复合赋值运算符会进行类型转换
byte n = 2;
n += 2; // n = (byte)(n+2);
n++; // n = (byte)(n + 1);
4. 位运算符
java 中有 7 个位运算(&、|、^、~、>>、<<和 >>>), 还有 3 个位运算符 >>、<< 和 >>> , 运算规则: