1. 程式人生 > 其它 >整數沒有超範圍可以直接賦值給char

整數沒有超範圍可以直接賦值給char

/*
1、整數能否直接賦值給char
2、char x = 97;
這個java語句是允許的,並且輸出的結果是'a'
經過這個測試得出兩個結論:
第一個結論:當一個整數賦值給char型別變數的時候,會自動轉換成char字元型。
最終結果是一個字元。

第二個結論:當一個整數沒有超出byte short char的取值範圍的時候,
這個整數可以直接賦值給byte short char型別的變數。
*/
public class 整數沒有超範圍可以直接賦值char
{
  public static void main(String[] args){

    char c1 = 'a';
    System.out.println(c1);

    // 這裡會做型別轉換嗎?
    // 97是int型別(這是java中規定,預設當做int處理)
    // c2是char型別
    char c2 = 97;
    System.out.println(c2); // 'a'

    // char型別取值範圍:0~65535

    char c3 = 65535;//實際上最終是一個"看不懂"的字元。
    System.out.println(c3);

    //錯誤:不相容的型別:從int轉換到char可能會有損失。
    //char c4 = 65536;

    //怎麼解決以上問題?
    char c4 = (char)65536;//強制型別轉換砍掉int型別前兩個位元組
  }
}