问题描述
String s=""+1254; int k=s.charAt(0); System.out.print(k); 为什么输出的是49??如果改成 System.out.print(k-48); 输出的是1.这是为什么?为什么要减48?是字符值和数字中的某一种对应关系?类似Ascii码的对应关系(a-97)?
解决方案
因为引用int k=s.charAt(0); 你在这里把它转换成整型了如果你直接输出s.charAt(0)的话就是1,也就是你之前定义的那个字符串s的第1个字符(字符串s中inex为0的字符)我觉得可能是你定义的字符串是一串数字误导了你你打印一下下面这段代码就很好理解了,原理都是一样的String s="abc";System.out.println(s.charAt(0));System.out.println((int)s.charAt(0));
解决方案二:
String "1" 的 ascii 码 是49
解决方案三:
char charAt(int index) 返回指定索引处的 char 值。
解决方案四:
楼主你猜对了。就是ascii码。1的ascii码是49
时间: 2024-09-16 20:25:20