天天看點

.net byte轉java byte_java基本資料類型之間的轉換

  • 資料類型分類
.net byte轉java byte_java基本資料類型之間的轉換
  • 基本資料類型的取值範圍
.net byte轉java byte_java基本資料類型之間的轉換
  • 資料轉換

    1、整數類型預設的int類型;小數類型預設的double。

    2、String的字元串進行類型轉換時,如果字元串中包含long整形的字元大寫L或者小寫l時,在轉換成字元串時,會出現錯誤。

    示例:String str="123L";

    long str1=Long.parseLong(str);

    System.out.println(str1); //錯誤

    3、String的字元串是float、double浮點型時,字元串可以加f、F、D、d等,在進行基本類型轉換時不會出錯。示例:String f1="12.34f"; float f2=Float.parseFloat(f1); System.out.println(f2);//結果:12.34,;d、D也一樣

    4、自動類型轉換(也叫隐式類型轉換) ,其實就是小範圍的資料類型向大範圍的資料類型轉換,例如int類型轉long。

    5、強制類型轉換(也叫顯式類型轉換) int b = (int)(i + j)。

    6、強制類型轉換在某種情況下會丢失精度。

    7、表達式的資料類型自動提升。

  • 進行四則運算時

    1、所有的byte型、short型和char的值将被提升到int型。2、如果一個操作數是long型,計算結果就是long型。

    3、如果一個操作數是float型,計算結果就是float型。

    4、如果一個操作數是double型,計算結果就是double型。

    5、如果一個操作數是String型,計算結果就是String型。

案例(根據上面的規則):

byte b1 = 10;byte b2 = 20;byte b3 = b1 + b2 //錯誤,b1+b2是int類型,java的整數預設類型為int,b3是byte類型,二者類型不同,是以出錯byte b3 = (byte)(b1 + b2); //正确short s1 = 10; s1 = s1 + 12; //錯誤: 不相容的類型: 從int轉換到short可能會有損失short s2 = 10; s2 += 12;  // 等同于short s2 = (short)(s2 + (short)1); //正确
           
  • 其它

switch語句能否作用在byte上,能否作用在long上,能否作用在string上?byte的存儲範圍小于int,可以向int類型進行隐式轉換,是以switch可以作用在byte上long的存儲範圍大于int,不能向int進行隐式轉換,隻能強制轉換,是以switch不可以作用在long上string在1.7版本之前不可以,1.7版本之後switch就可以作用在string上了。switch:

源碼:public static void main(String[] args) {String s = "a" ;switch (s) {case "1":break;case "2":break;default:break;}}反編譯後:public static void main(String[] args) {    String s = "a";    String str1;    switch ((str1 = s).hashCode()) { case 49:    case 50:      if ((str1.equals("1")) || (goto 57) || (str1.equals("2")))        break;    }  }
           

完畢!!!!

給個關注,轉發,謝謝

SpringBoot開發自己的@Enable功能

Java線上CPU100% 問題排查

Restful API設計規範

繼續閱讀