1. 程式人生 > 實用技巧 >Day02_java基礎 型別轉換

Day02_java基礎 型別轉換

型別轉換

  • 由於java是強型別語言,所以要進行有些運算的時候,需要用到型別轉換

    低---------------------------------高
    byte,short,char->int->long->float->double
    

    運算中不同型別的資料需要先轉化為同一型別,然後進行運算

    • 強制型別轉換
    • 自動型別轉換
public class Demo05 {
    public static void main(String[] args) {
        int i=128;
        byte b=(byte)i; //記憶體溢位
        //資料型別 變數名=為變數名賦值
        //強制轉換      (型別)變數名
        System.out.println(i);
        System.out.println(b);
        /*
        注意點:
        1.不能對布林值進行轉換
        2.不能把物件型別轉換為不相干的型別
        3.在把高容量轉換到低容量的時候,強制轉換
        4.轉換的時候可能存在記憶體溢位,或者精度問題
         */
        System.out.println("==========================");
        System.out.println((int)32.9);      //32
        System.out.println((int)-32.9f);        //-32


        System.out.println("==========================");
        char c='a';
        int d=c+1;
        System.out.println(d);
        System.out.println((char)d);
    }
}
public class Demo06 {
    public static void main(String[] args) {
        //操作比較大的數的時候,注意溢位問題
        //JDK7新特性,數字之間可以用下劃線分割

        int money=10_0000_0000;
        int years=20;
        int total=money*years;  //-1474836480,計算的時候溢位了
        long total2=money*years;//預設是int,轉換之前已經存在問題了

        long total3=money*((long)years);
        System.out.println(total3 );

        //注意大小寫一般用大寫L     l
    }
}