作者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/cn.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