1. 程式人生 > 遊戲攻略 >《艾爾登法環》1.03版力信戰士Build推薦

《艾爾登法環》1.03版力信戰士Build推薦

  • 不能對boolean型別進行型別轉換
  • 不能把物件型別轉換成不相關類的物件
  • 在把容量大的型別轉換為容量小的型別時必須使用強制型別轉換
  • 轉換過程中可能導致溢位或損失精度
    例如:
int i =128;
byte b = (byte)i;
/*輸出i的結果是-128。因為 byte 型別是 8 位,最大值為127,所以當 int 強制轉換為 byte 型別時,值 128 時候就會導致溢
出。*/
(int)23.7//== 23
(int)-45.89f// == -45
//浮點數到整數的轉換是通過捨棄小數得到,而不是四捨五入

1、自動型別轉換

自動型別轉換:容量小的資料型別可以自動轉換為容量大的資料型別。
例如: short資料型別的位數為16位,就可以自動轉換位數為32的int型別,同樣float資料型別的位數為
32,可以自動轉換為64位的double型別。

public class autochange{ 
  public static void main(String[] args){ 
    char c1='a';//定義一個char型別 
    int i1 = c1;//char自動型別轉換為int System.out.println("char自動型別轉換為int後的值等於"+i1); 
    char c2 = 'A';//定義一個char型別 
    int i2 = c2+1;//char 型別和 int 型別計算 
    System.out.println("char型別和int計算後的值等於"+i2); 
  } 
} 
/*c1 的值為字元 a ,查 ASCII 碼錶可知對應的 int 型別值為 97, A 對應值為 65,所以
i2=65+1=66。*/

2、強制型別轉換

強制型別轉換的語法格式:(type)var,運算子“()”中的type表示將值var想要轉換成的目標資料型別。

public static void main(String[] args) { 
  double x = 3.14; 
  int nx = (int)x; //值為3 
  char c = 'a'; 
  int d = c+1; 
  System.out.println(d); //98 
  System.out.println((char)d); //b
}

操作比較大的數時,要留意是否溢位,尤其是整數操作時。

public static void main(String[] args) {
        int money = 1000000000; //10億
        int years = 20;
        int total = money * years; //返回的是負數
        long total1 = money * years;
        //返回的仍然是負數。預設是int,因此結果會轉成 int值,再轉成long。但是已經發生了資料丟失
        long total2 = money * ((long) years); //先將一個因子變成long,整個表示式發 生提升。全部用long來計算。
        System.out.println(total);
        System.out.println(total1);
        System.out.println(total2);
    }

3、JDK7擴充套件

JDK7新特性: 二進位制整數

由於我們在開發中也經常使用二進位制整數,因此JDK7為我們直接提供了二進位制整數的型別。
我們只要以:0b開頭即可。

int a = 0b0101;

JDK7新特性:下劃線分隔符

如果遇到特別長的數字,JDK7為我們提供了下劃線分隔符,可以按照自己的習慣進行分割。

int b = 1_2234_5678;//契合閱讀習慣