Oracle认证备考:解析Java中10!=2为true与"Hello "+10!=2编译错误
Java表达式问题解答(Oracle认证备考)
问题1:表达式10!=2输出true的原因
!=是Java中的不等于比较运算符,用于判断两个操作数是否不相等- 10和2都是整数类型,数值明显不相等,因此比较结果为布尔值
true,最终被System.out.println()输出
问题2:表达式"Hello "+10!=2出现编译错误的原因
- Java运算符有优先级规则:字符串连接符
+的优先级高于不等于运算符!= - 代码会先执行
"Hello "+10,得到字符串"Hello 10" - 接下来尝试执行
"Hello 10" != 2,这是将字符串对象和整数做不等于比较,Java不允许引用类型与基本类型直接进行此类比较,因此触发编译错误
对应的测试代码:
public class Demo1 { public static void main(String[] args1) { System.out.println(10!=2); //Output is True System.out.println("Hello "+10!=2); //Compile Time Error } }
内容的提问来源于stack exchange,提问作者Abdul Rahman
相关产品推荐
相关产品推荐

