/*
1、小容量可以直接指派給大容量,稱為自動類型轉換。
2、大容量不能直接指派給小容量,需要使用強制類型轉換符進行強轉。
但需要注意的是:加強制類型轉換符之後,雖然編譯通過了,但是運作
的時候可能會損失精度。
*/
public class 強制類型轉換{
public static void main(string[] args){
// 不存在類型轉換
// 100l是long類型字面量,x是long類型字面量。
long x = 100l;
// x是long類型,占用8個位元組,而y變量是int類型,占4個位元組。
// 在java語言中,大容量可以直接指派給小容量嗎?
// 編譯錯誤資訊:錯誤:不相容的類型:從long轉換到int可能會有損失。
// int y = x;
// 大容量轉換成小容量,要想編譯通過,必須加強制類型轉換符,進行強制類型轉換。
// 底層是怎麼進行強制類型轉換的呢?
// long類型:000000000 000000000 000000000 000000000 000000000 000000000 000000000 01100100
// 以上的long類型100l強轉為int類型:會自動将"前面的"4個位元組砍掉。:000000000 000000000 000000000 01100100
int y = (int)x; // 這個(int)就是強制類型轉換符,進行強制類型轉換。
// 但是要記住:編譯雖然過了,但是運作可能會損失精度。
system.out.println(y); //
//定義變量a int類型,指派100
int a = 100;
system.out.println(a);
int b = a; // 将變量a中儲存的值100複制一份給b變量。
system.out.println(b);
}
}