题目
public static void main(String[] args){System.out.println('8'=='5'+3);}A 对B 错A. 对B. 错
public static void main(String[] args){
System.out.println('8'=='5'+3);
}
A 对
B 错
A. 对
B. 错
题目解答
答案
A. 对
解析
本题考查 Java 中字符类型的运算规则。解题思路是先明确字符在 Java 中是以 Unicode 编码存储的,字符参与运算时会使用其对应的 Unicode 码值进行计算,然后分别计算等式两边的值,最后比较两边结果是否相等。
- 首先,在 Java 里,字符类型
char本质上是 16 位的无符号整数,存储的是字符对应的 Unicode 码值。字符'5'的 Unicode 码值是 53,字符'8'的 Unicode 码值是 56。 - 接着计算等式右边
'5' + 3的值:- 根据字符运算规则,
'5' + 3实际上是53 + 3。 - 按照数学运算,$53 + 3=56$。
- 根据字符运算规则,
- 最后比较等式两边的值:
- 等式左边是
'8',其 Unicode 码值为 56。 - 等式右边计算结果也是 56,所以
'8' == '5' + 3这个表达式的结果为true,也就是“对”。
- 等式左边是