算数运算
- %:取余运算 结果的符号与被模数的符号相同
- 自动类型转换(只涉及7种基本数据类型)
-
结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
byte 、char 、short --> int --> long --> float --> double -
特别的:当byte、char、short三种类型的变量做运算时,结果为int型
-
说明:此时的容量大小指的是,表示数的范围的大和小。比如:float容量要大于long的容量
-
强制类型转换(只涉及7种基本数据类型):自动类型提升运算的逆运算。
1.需要使用强转符:()
2.注意点:强制类型转换,可能导致精度损失。
-
赋值运算
- 赋值运算符
当两边类型不一样时,自动类型转换或强制转换;支持连续赋值long i=3424;//自动类型提升 int->long int i,j; i=j=3;//连续赋值
- 扩展赋值运算符 有强制转换功能
short s1 = 10; //s1 = s1 + 2;//编译失败 s1 += 2;//等同于 s1=(short)(s1+2); System.out.println(s1);
- 逻辑运算符和短路效果
- 区分& 与 &&
* 相同点1:& 与 && 的运算结果相同
* 相同点2:当符号左边是true时,二者都会执行符号右边的运算
* 不同点:当符号左边是false时,&继续执行符号右边的运算。&&不再执行符号右边的运算。
//开发中,推荐使用&& - 区分:| 与 ||
*相同点1:| 与 || 的运算结果相同
*相同点2:当符号左边是false时,二者都会执行符号右边的运算
*不同点3:当符号左边是true时,|继续执行符号右边的运算,而||不再执行符号右边的运算
//开发中,推荐使用||
- 区分& 与 &&
参考康师傅笔记