在Java Puzzlers的第四部分中,我们有一些与char类型有关的东西。
public class Puzzler { public static void main(String[] args){ char myChar = 'a' ; myChar++; System.out.println(myChar); } }
您可能已经猜到了。 它将打印“ b”,其原因是char类型是伪装成字符的无符号数字基元。 因此,如果我添加一个,那么我将以unicode表示形式获得下一个字符。
那我们来看一下那个
public class Puzzler { public static void main(String[] args){ char myChar = 'a' ; System.out.println(myChar + myChar); } }
会打印“ aa”吗? 或,即97 + 97 = 194(其中97是“ a”的值)。 我不知道您是否猜对了,但结果都不是。 是“ 194”。 当Java看到加号时,它会告诉“嗯,这是一个附加值,而不是concat”,并将myChars加起来并返回其int值。
翻译自: https://www.javacodegeeks.com/2020/05/java-puzzlers-from-oca-part-4.html