【发布时间】:2019-03-05 14:13:30
【问题描述】:
我正在努力理解以下简单的 Java 程序。有人可以帮忙吗?
class Solution {
public static void main (String args[])
{
String code ="1123";
System.out.println( (code.charAt(0) - '1' + 'a' ));
}
}
输出:97
我知道它返回字符 'a' 的 ASCII 值,但是 - '1' + 'a' 部分令人困惑,它到底在做什么?
【问题讨论】:
-
嗨。 System.out.println 对 int、long、String 有重载。当你调用
code.charAt(0)时,结果是“char”类型,但是char没有算术计算,除了它们转换为int,所以计算结果是一个整数,java选择System.out.println(int)。您必须在打印之前转换为 char。
标签: java