java - 为什么输出显示 3 而不是 java 中的 char

标签 java unicode char ascii arithmetic-expressions

我会明白为什么输出是 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/

相关文章:

javascript - 使用 nodejs 原始标准输入检查退格字符时遇到问题

java - 如何打印元音、数字等列表?

c - 在c中打开一个编号的文件

Java:类型别名支持注释处理工具(APT)吗?

java - JAVA中的循环变量

javascript - mb_convert_encoding 对于 UTF7 字符串给出除 iconv 之外的其他结果

java - 查找字符是否在字符串中时发生错误

java - 字符串池对象

java - 从另一个类访问 GUI 组件

batch-file - 如何使用 .bat 格式将 unicode 文件批量格式化为 ANSI 文件?