1. 程式人生 > 其它 >第六節 Java基礎語法3

第六節 Java基礎語法3

JAVA基礎語法3

型別轉換

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

由低到高:byte,short,char→int→long→float→double

運算中,不同型別的資料先轉化為同一型別,然後再進行運算。

int i =128;
byte b=(byte)i;//記憶體溢位,byte最大是127
//強制型別轉換 格式:(型別)變數名   由高→低
//自動型別轉換 由低→高

System.out.println(i);//輸出128
System.out.println(b);//輸出-128

注意點:

  1. 不能對布林值進行轉換
  2. 不能把物件型別轉換為不相干的型別
  3. 在把大容量轉換為低容量的時候,強制型別轉換
  4. 轉換的時候可能存在記憶體溢位,或者精度問題!
System.out.println((int)23.7); //輸出23
System.out.println((int)-45.89f); //輸出-45

char c = 'a';
int d = c+1;
System.out.println(d);//輸出98
System。out.println((char)d);//輸出b

操作比較大的數的時候注意溢位的問題。

JDK7新特性,數字之間可以用下劃線分割

int money = 10_0000_0000;//下劃線並不會被輸出
int years = 20;
int total =money*years;
System.out.println(total);//輸出-1474836480,計算的時候溢位了
long total2 =money*years;
System.out.println(total2);//輸出-1474836480,預設是int,轉換之前已經存在問題了?

long total3 =money*((long)years;//先把一個數轉換為long
System.out.println(total3);//輸出20000000000