[問題] 關於charAt的用法

作者: jeffery95099 (哈哈肥宅哈哈)   2018-12-23 17:37:43
安安
小弟我Java新手
最近在練習的時候
發現
如果用整數型態來儲存charAt函數
如果charAt裡面是數字的話
就會多48
像是
String a = "12345";
int b = a.charAt(0);
這樣子輸出會是49
如果改成
String a = "12345";
char b = a.charAt(0);
輸出就會變成1
想請問版上的各位高手
為什麼會這樣子呢
感謝
作者: ssccg (23)   2018-12-23 18:12:00
不只是Java的問題,這是電腦文字處理的基本知識String、Character對電腦來說都是用一個數字對應,叫做編碼'1'不管是int還是char實際上記憶體裡的值都是49,只是你的輸出方法裡面看到型態是char、是String,會用對應的方法去解析成字元輸出,而不是單純輸出數值修正一下第二句→ ...都是每個字元用一個數字對應
作者: LPH66 (-6.2598534e+18f)   2018-12-23 18:26:00
charAt 其實就是在問「第 N 個字的編碼是多少」
作者: p31819 (凜大小姐~最高!!)   2018-12-24 13:49:00
可以看 ASCII 編碼

Links booklink

Contact Us: admin [ a t ] ucptt.com