整數沒有超範圍可以直接賦值給char
阿新 • • 發佈:2021-08-29
/*
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型別前兩個位元組
}
}