1. 程式人生 > 其它 >5、型別轉換

5、型別轉換

型別轉換

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

2、運算中,不同型別的資料先轉換為同一型別,然後進行運算

3、強制型別轉換

        int i = 128;
        byte b = (byte) i;  //記憶體溢位

        //強制轉換  (型別)變數  高--低
        System.out.println(i);
        System.out.println(b);

4、自動型別轉換

        //自動轉換  低--高
        int i1 = 123546;
        double d = i1;
        float f = i1;
        System.out.println(i1);
        System.out.println(d);
        System.out.println(f);

		char c = 'a';
        int i2 = c + 1;
        System.out.println(i2);
        System.out.println((char)(i2));

5、注意

  • 不能對布林值進行轉換
  • 不能把物件型別轉換為不相干的型別
  • 把高容量轉換到低容量的時候,強制轉換
  • 轉換的時候可能存在記憶體溢位,或者精度問題

6、擴充套件

        //操作比較大的數時,注意溢位問題
        //JDK7新特性,數字之間可以用下劃線分割
        int money = 10_0000_0000;
        int year = 20;
        int total = money * year;
        System.out.println(total);  //-1474836480,計算的時候溢位了
        long total2 = money * year;
        System.out.println(total2); //預設是int,轉換之前就已經出現問題了

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