看板 java 關於我們 聯絡資訊
安安 小弟我Java新手 最近在練習的時候 發現 如果用整數型態來儲存charAt函數 如果charAt裡面是數字的話 就會多48 像是 String a = "12345"; int b = a.charAt(0); 這樣子輸出會是49 如果改成 String a = "12345"; char b = a.charAt(0); 輸出就會變成1 想請問版上的各位高手 為什麼會這樣子呢 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.168.91.127 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1545557866.A.9DE.html
ssccg: 不只是Java的問題,這是電腦文字處理的基本知識 12/23 18:12
ssccg: String、Character對電腦來說都是用一個數字對應,叫做編碼 12/23 18:14
ssccg: '1'不管是int還是char實際上記憶體裡的值都是49,只是你的 12/23 18:16
ssccg: 輸出方法裡面看到型態是char、是String,會用對應的方法去 12/23 18:16
ssccg: 解析成字元輸出,而不是單純輸出數值 12/23 18:17
ssccg: 修正一下第二句→ ...都是每個字元用一個數字對應 12/23 18:21
LPH66: charAt 其實就是在問「第 N 個字的編碼是多少」 12/23 18:26
了解 感謝各位 ※ 編輯: jeffery95099 (1.168.91.127), 12/23/2018 18:56:57
p31819: 可以看 ASCII 編碼 12/24 13:49