扩展赋值运算符基本用法及注意事项


赋值运算符分类

  • 基本赋值运算符:=(支持连续赋值)

  • 扩展赋值运算符:+=,-=,*=,/=,%=


 

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);


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM