運行結果為
3
51
C
故而總結了以下幾點:
舉例子說明一下。
System.out.println('0'+'A');// 48+65 = 113 未指定類型--輸出int
System.out.println((char)('0'+'A'));// q 強轉char --輸出char
System.out.println(10+'A'); //75 未指定類型--輸出int
System.out.println((char)10+'A'); //75 未指定類型--輸出int
System.out.println((char)(10+'A')); //K 強轉char --輸出char
System.out.println((char)((char)10+'A')); //K 強轉char --輸出char
也就是說,結果未指定類型的情況,默認輸出的是碼值(ASCII碼表對應的值),即int類型.
如果指定了類型,輸出的就是那個類型.比如char.
我的總結:
字符參與運算,其實是拿字符對應的碼表中的數字進行運算的,
如果本身不是字符,而是int類型或char類型的數字(默認為碼值,比如 char a = 10, int a = 10;這里的10都會默認為碼值10),則就先轉換其他字符對應的碼值再計算結果,找到結果對應的字符.如果類型為char型,則輸出字符,如果不是,則輸出結果碼值.