1. 程式人生 > 其它 >JAVA基本型別轉換

JAVA基本型別轉換

基本型別轉換有一下要點:

  1. 多個型別參與運算時,整型、浮點型、字元型都可以參與運算,唯獨布林型別不能參與運算
  2. 在型別轉換時,涉及到型別級別,詳細如下:級別從低到高:byte,short,char-->int-->long-->float-->double
  3. 型別級別的作用:當一個表示式中存在多個型別時,都自動轉換為表示式中級別最高的那個型別進行計算
  4. 在進行賦值運算的時候:型別級別也有用處,詳細如下:
  5. 如左邊型別級別=右邊型別級別,則直接賦值
  6. 如左邊型別級別>右邊型別級別,則直接自動轉換
  7. 如左邊型別級別<右邊型別級別,則需要做強制型別轉換
  8. 強制型別轉換是資料"失真“,舉例如下”
double d1 = 6;
System.out.println(d1);// 6.0
int i1 = (int) 3.14;
System.out.println(i1);// 3
// double d2 = 3+3.14F+3.14159+'a'+true;// 報錯
double d3 = 30+3.14F+3.14159+'a';// 左邊型別級別=右邊型別級別,則直接賦值
int i2 = (int) (30+3.14F+3.14159+'a');// 左邊型別級別<右邊型別級別,則需要做強制型別轉換
float f1 = 30+3.14F+'a';// 左邊型別級別=右邊型別級別,則直接賦值
double
d4 = 30+3.14F+'a';// 左邊型別級別=右邊型別級別,則直接賦值 System.out.println(30+3.14F+3.14159+'a');// 133.28158938964845 System.out.println(d3);// 133.28158938964845 System.out.println(i2);// 133 System.out.println(30+3.14F+'a');//130.14 System.out.println(f1);// 130.14 System.out.println(d4);// 130.13999938964844 //強制型別轉換是資料失真 byte b1 = (byte
) 258; System.out.println(b1);// 2 // 解答:十進位制258放在記憶體中儲存情況如下,(258為整型,沒指定型別,預設為int型別,佔4個位元組,一個位元組8個記憶體位) // 00000000 00000000 00000001 00000010 // 強轉為byte型別後,記憶體分佈如下:(byte型別佔1個位元組,直接砍掉左側三個位元組) // 00000010 // 00000010轉換為十進位制為數字2