天天看點

強類型轉換

強類型轉換

java是強類型語言是以在運算的時候要用到類型轉換

運算時,不同類型的資料先轉換成同一種類型,然後進行運算

public class Demo04 {
    public static void main(String[] args) {
        //強制轉換   (類型)變量名  高-->低
        int i=128;
        byte b=(byte)i;  //記憶體溢出

        //自動轉換    低-->高
        double d=i;
        System.out.println(i);
        System.out.println(b);
        System.out.println(d);

        /*
        注意點:
        1.不能對布爾值進行轉換
        2.不能把對象類型轉換為不相幹的類型
        3.在把大容量轉換為低容量時,強制轉換;反之自動轉換。
        4.轉換過程中可能存在記憶體溢出問題或者精度問題
         */
        System.out.println("==================================================");
        //精度問題
        System.out.println((int)23.7);//23
        System.out.println((int)-45.89f );//-45





        System.out.println("==================================================");
        char c='a';
        int e=c+1;
        System.out.println(e);
        System.out.println((char)e);
    }
}

           

溢出問題

public class Demo05 {
    public static void main(String[] args) {
        //操作比較大的時候要注意溢出問題
        //JDK7新特性數字之間可以用下劃線分割
        int money=10_0000_0000;
        //System.out.println(money);
        int year=20;
        int total=money*year;//-1474836480  計算時溢出了
        long total2=money*year;//-1474836480  預設是int 轉換之前就已經出現問題了
        System.out.println(total);
        System.out.println(total2);
        long total3=money*((long)year);//先把一個數轉換為long
        System.out.println(total3);//20000000000
    }
}
           

繼續閱讀