在处理以下场景时,我正在寻找对 Java 行为的解释。我了解 ASCII 表的排列方式使字符的值5
比0
. 这允许在 char 上完成计算,而无需转换为第一个示例中看到的 int。
我不明白为什么 Java 似乎不一致地处理何时提供 ASCII 表中的值以及何时对字符进行计算,就好像它们是整数一样。
int x = '5' - '0';
输出x = 5;
int x = '5'
输出x = 53;
现在举一些例子,这会引起混乱。
int x = '0' + 1 - '5'
输出x = -4
int y = '5' - '0' + '1'
输出54
int y = '5' - 0 + '1'
输出102
Java 似乎在进行隐式类型转换,但是 Java 是如何推断它应该使用 int/char 的哪种表示形式的呢?
芜湖不芜
qq_遁去的一_1
慕容708150
相关分类