天天看點

02.強制類型轉化

資料類型轉化

小的資料類型可以轉化為大的資料類型,自動類型轉化

class demn{
    public static void main(String[] args){
        byte b = 11;//一個位元組
        short s = b;//2個位元組
        int i = s;//4個位元組
        long l = i;//8個位元組
        System.out.println(l);
    }
}
      

大的資料類型轉化為小的資料類型,強制類型轉化,否則丢失精度

強制類型轉化的格式:

小資料類型 變量名 = (小資料類型)大資料類型

class demn{
    public static void main(String[] args){
        int i = 128;
        byte b = (byte) i;
        Syetem.out.println(b);//-128,負數是通過補碼的形式存儲的,先通過補碼轉化為原碼,再求範圍
        System.out.println(Integer.toBinaryString(-7));
        
        byte b1 = 1;
        byte b2 = 2;
        byte b3 = b1 + b2;//丢失精度
        byte b3 = (byte)(b1 + b2);
        System.out.println()
            
        System.out.println('a' + 1);
        
        int i = 10;
        long l = 20;
        i = (int)(i + l);
        System.out.println(i);
        
        byte b = 10;//一個整數沒有加任何辨別的時候,預設是int類型的資料
        System.out.println(b);//不報錯
        //10是一個常量,編譯器在編譯的時候能夠确認常量的值,java編譯器會檢測到10并沒有超出byte的範圍,是以允許指派
        
        int i = 10;
        byte c = i;
        System.out.println(b);//java編譯器在編譯的時候并不能确定變量所存儲的值
    }
}

      

繼續閱讀