[问题] 关于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