1、'/'代表除法,整数相除会去掉小数部分。
doubt a = 10 / 4; //得出2.5,但由于整数相除结果为整数,去掉.5。
//尽管赋值给doubt类型变量,a中保存的还是2
doubt b = 10 / 4.0 //得出2.5,b中保存的也是2.5
2、‘%’代表取余,在Java中的原理为如下
//取模公式为 a % b =a - (a / b) * b
//若有小数则为 % b = a -((int)a / b) *b
-10 % 3 = -1;
10 % -3 = 1;
3、++与--的特殊注意
int i = 1;
i = i++;
System.out.println(i);//输出1
//后++时规则为(1)创建temp变量(2)temp=i(此时i为1)(3)i自增(此时i为2)(4)i=temp(temp为1,i为2,最后结果为i=1)
int j = 1;
j = ++j;//若为前++,将后++的(1)(2)两步调换顺序
System.out,.println(j);//输出为2
4、在编程中一定要注意语言实现与公式之间的不同
5、&&为短路与,&为与,||为短路或,|为或。&&若第一个为F,则不在判断后项,||若第一个为T,则不在判断后项。那么短路符号后部的表达式不会执行,开发中通常使用短路。
6、^代表逻辑异或,即两边的boolean变量不相同时取1。
7、复合赋值运算符进行自动类型转换
byte b = 4;
b += 3;//等价于 b = (byte)b + 3;
b++; //概念基本相同,也有类型转换的过程
8、三元运算符,一般在赋值时使用,如果为真返回表达式1,如果为假返回表达式2,表达式一和二要能对初始初始变量进行赋值,或者能自动转换。
9、运算符优先级,只有单目运算符与赋值运算符由右向左运算
(图片来自b站韩顺平老师课程)