資料類型轉化
小的資料類型可以轉化為大的資料類型,自動類型轉化
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編譯器在編譯的時候并不能确定變量所存儲的值
}
}