型別轉換

银行脱坑人發表於2024-08-19

型別轉換

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

弱----------------------------------------------------------------->強

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

  • 不同型別的資料先轉換為統一型別,再運算。
/**
 * @version: java version 1.8
 * @Author: Mr Theroux
 * @description:
 * @date: 2024-08-19 9:01
 */
public class Demo04 {
    public static void main(String[] args) {
        int i =128;
        double b =i ;
        //強制轉換  (型別)變數名     高---低
        //自動轉換  低---高
        System.out.println(i);
        System.out.println(b);

        /*
        注意點:
        1. 不能對布林值進行轉換;
        2. 不能把物件型別轉換為不相干的型別;
        3. 轉換高容量型別至低容量型別,需要強制轉換;
        4. 轉換的時候可能會存在記憶體溢位,精度問題。
         */

        System.out.println("======================");
        System.out.println((int)23.7);//23
        System.out.println((int)45.99);//45

        System.out.println("======================");
        char o = 'a';
        int l = o + 1;
        System.out.println(l);

    }
}

/**
 * @version: java version 1.8
 * @Author: Mr Theroux
 * @description:
 * @date: 2024-08-19 9:38
 */
public class Demo05 {
    public static void main(String[] args) {
        //操作比較大數字的時候,要注意溢位問題
        //JDK7的新特性,數字之間可以用下劃線_
        int money = 1_000_000_000;
        int year = 20;
        long total = money*year;//預設是int,轉換之前已經存在問題了
        System.out.println(total);
        System.out.println(money*year);//-1474836480,計算時溢位
        System.out.println((long)money*year);//預設是int,
    }
}

相關文章