67,515
社区成员
发帖
与我相关
我的任务
分享
String b="321";
StringBuffer a=new StringBuffer(b);
int c = a.charAt(1);
System.out.println(c);
不知道你现在有没有点感觉了,a.charAt[1],得到的是 字符串类型char的'2',如果转成int,得到的是50。50是什么?是‘2’的ascii码值。
所以 如果输出的是 System.out.println(a.charAt(1)-48); 那么这个输出调用的是void java.io.PrintStream.println(int x)
如果输出是System.out.println(a.charAt(1));那么这个输出调用的是void java.io.PrintStream.println(char x)
所以这两个虽然结果相同,传的数据类型是不一样的。
具体ASCII的研究还需要你自己去看看