Java:字符串中添加到常数的字符



我遇到了一个分配问题

String test = "problemnumber3";
System.out.println(test.charAt(1));
System.out.println(test.charAt(7));
String piece = test.charAt(13)+4+"7"+test.charAt(13);
System.out.println(piece);

问什么是印刷。我想出的查看代码的答案是它将打印

r
n
773

,但决定将其输入BlueJ(我们在课堂上使用的内容)进行仔细检查。印刷的代码

r
n
5573

我无法弄清楚55的来源。我已经检查了所有可用的笔记和演讲材料。字符串中的数字字符是否奇怪地添加到常数?

它是添加了4的字符'3',(自动转换)的ASCII表示。48'0'49'1',因此51'3'。然后,编译器添加4以获取55,然后Java的String自动将55转换为String55表示CC_14时。

最新更新