我会明白为什么输出是 3 而不是 char('5' unicode 字符)
char c='5';
c = (char) (c - 2);
System.out.println(c);
您能解释一下 ASCII 码和 unicode 字符之间的区别吗?
提前谢谢您:)
最佳答案
这是一个角色。它是代表数字 3 的字符,就像键盘上的“3”字符一样。
当你从一个字符中减一时,你会得到紧接在该字符之前的字符。例如,'B' - 1 = A
。
从字符“5”开始,减去 2,得到字符“3”。如果你减去 6,你不会得到 -1,你会得到一个随机字符(我认为是“/”)。
基本上,这种减法是有效的,因为字符 0 - 9 是连续存储的。
关于java - 为什么输出显示 3 而不是 java 中的 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45077790/