為什么 char c = 'A';c += 32; 結果輸出的是 'a'?


首先 char 類型的數據只要參與運行會先轉換為 int 類型數值(在 ASCII 編碼表中 'A' 對應十進制的 65),那么 'A' 轉換為 int 為 65,65 + 32 = 97,+= 包含一個隱式的強制轉換,會將 97 強制轉換為 'a'。

1 public class Test {
2     public static void main(String[] args) {
3         char c = 'A'; // 'A'  ASCII 編碼表中 'A' 對應十進制的 65
4         c += 32;//  char c = (char)(32+65)    --97對應ASCII 編碼表為:'a'
5         System.out.println(c);//  結果:a
6     }
7 }

 


免責聲明!

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



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