作者jeffery95099 (傑佛里95099)
看板java
標題[問題] 關於charAt的用法
時間Sun Dec 23 17:37:43 2018
安安
小弟我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://webptt.com/m.aspx?n=bbs/java/M.1545557866.A.9DE.html
1F:→ ssccg: 不只是Java的問題,這是電腦文字處理的基本知識 12/23 18:12
2F:→ ssccg: String、Character對電腦來說都是用一個數字對應,叫做編碼 12/23 18:14
3F:→ ssccg: '1'不管是int還是char實際上記憶體裡的值都是49,只是你的 12/23 18:16
4F:→ ssccg: 輸出方法裡面看到型態是char、是String,會用對應的方法去 12/23 18:16
5F:→ ssccg: 解析成字元輸出,而不是單純輸出數值 12/23 18:17
6F:→ ssccg: 修正一下第二句→ ...都是每個字元用一個數字對應 12/23 18:21
7F:推 LPH66: charAt 其實就是在問「第 N 個字的編碼是多少」 12/23 18:26
了解 感謝各位
※ 編輯: jeffery95099 (1.168.91.127), 12/23/2018 18:56:57
8F:推 p31819: 可以看 ASCII 編碼 12/24 13:49