擴展賦值運算符基本用法及注意事項


賦值運算符分類

  • 基本賦值運算符:=(支持連續賦值)

  • 擴展賦值運算符:+=,-=,*=,/=,%=


 

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