java - 为什么我在 Java 中对 char 和 int 进行比较不起作用?

标签 java if-statement

char c = '0';
int i = 0;
System.out.println(c == i);

为什么这总是返回 false?

最佳答案

虽然这个问题很不清楚,但我很确定发帖者想知道为什么打印出 false:

char c = '0';
int i = 0;
System.out.println(c == i);

答案是因为每个可打印字符都被分配了一个唯一的代码编号,这就是 char 在被视为 int 时所具有的值。字符0的代码是十进制的48,显然48不等于0。

为什么数字的字符代码不等于数字本身?主要是因为前几个代码,尤其是 0,太特殊了,不能用于这种普通的目的。

关于java - 为什么我在 Java 中对 char 和 int 进行比较不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8232826/

相关文章:

javascript - 替代javascript中的多个if else语句

java - 如何在黑莓中导入 Java 插件中的项目

java - 将 map 中的参数添加到 URL 标记

java - 通过 Java ProcessBuilder 运行命令与在 Shell 中运行命令不同

operators - 三元运算符什么时候比简单的 if-else block 更差?

javascript - 试图理解 rövarspråket 翻译器

Java ConcurrentLinkedQueue 迭代元素顺序?

java - 追加来自另一个类的 Textarea 结果

c - 如何理解if语句中的这种条件?

java - 在一个 if 语句中使用多个 OR 条件是否正确,有哪些替代方案?