Java自動類型轉換


■ 自動類型轉換:容量小的數據類型可以自動轉換為容量大的數據類型。
■ 特例:可以講整型常量直接賦給byte,short,char等類型變量,而不需要強制類型轉換,只要不超出其表數范圍。
■ 強制類型轉換(cast):又稱為造型,用於顯示的轉換一個數值的類型,在有可能丟失信息的情況下進行的轉換時通過造型來完成的,但可能造成精度降低或溢出。
■ 強制類型轉換的語法格式:“(type) var”,運算符“()”中的type表示將值var想要轉換成的目標數據類型。
■ 當將一種類型強制轉換成另一種類型,而又超出了目標類型的表示范圍,就會被截斷成為一個完全不同的值。(例:int x = 300; byte y = (byte)x; //值為44)
■ 不能在布爾類型和任何數值類型之間做強制類型轉換。(若需要將布爾類型轉換為數字可以用三目運算符)
■ 基本類型轉換常見錯誤和問題:
  ①操作比較大的數時,要留意是否溢出,尤其是整數操作時。
  

    int a = 100000000; // 1億
    int b = 22;
    int c = a*b; // 返回的是負數
    long c = a*b; // 返回的仍是負數(默認是int,因此結果會轉成int值,再轉成long。但是已經發生了數據丟失)
    long d = a*((long)*b); // 先將一個因子變成long,整個表達式發生提升,全部用long來計算。

  ②L和l的問題:
    不要命名名字為l的變量;
    long類型使用大寫L不要用小寫。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM