扩展赋值运算符基本用法及注意事项
赋值运算符分类
-
基本赋值运算符:=(支持连续赋值)
-
扩展赋值运算符:+=,-=,*=,/=,%=
1 short s = 3; 2 s = s + 2; 3 s+=2;
上述代码第2行和第3行有什么区别?
第2行:变量s为short类型,2默认为int类型,两者相加后赋值给short类型的变量s时,会因为int类型不能自动转换为short类型而出现/编译错误,所以代码可以修改为:s = (short)(s + 2)后再运算。另外当变量参与运算时,java程序并不知道运算结束后该变量会不会超出当前变量类型的范围,所以会把变量转换为更大长度的数据类型第3行:在使用扩展赋值运算符时,不会出现/编译错误,因为变量在参与运算时会自动强制转换为当前变量的类型
// 定义变量 int i = 1; // 拿*=的左边变量和右边的数据做相乘运算,然后把结果赋值给左边的变量 i*=0.1; // 注意:扩展的赋值运算符,隐含了强制类型转换 // 所以1*0.1强制转换为int类型导致舍弃小数部分,结果为:0 System.out.println(i); // i进行自增运算,结果为:1 i++; System.out.println(i);
本文来自博客园,作者:Schieber,转载请注明原文链接:https://www.cnblogs.com/xiqingbo/p/java-01.html