關於java中char類型和int類型相加結果的面試題


 

 

 

 運行結果為

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型,則輸出字符,如果不是,則輸出結果碼值.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM