【问题标题】:10!=2 is getting true and "Hello "+10!=2 compilation error10!=2 越来越真实和 \"Hello \"+10!=2 编译错误
【发布时间】:2022-11-30 15:43:43
【问题描述】:

我正在准备 Oracle 认证考试,所以你能解释一下 10!=2 是如何变得真实和编译错误的吗,我在下面提到了一个小程序。 10!=2 :为什么它是真的 "Hello "+10!=2 : 为什么是编译时错误

公开课 Demo1 {

public static void main(String[] args1) {   
    System.out.println(10!=2);  //Output is True
    System.out.println("Hello "+10!=2); //Compile Time Error
}

}

【问题讨论】:

  • 在第二个语句中,由于字符串连接,您正在执行“Hello 10”!= 2。尝试“你好” + (10 != 2)
  • 谢谢你明白了

标签: java spring-boot jsp


【解决方案1】:

请检查 java 和一般编程的基础知识。 '==' 符号检查值是否相同,'=!'检查值是否不同。 所以 10!=2 意味着 10 与 2 不同,你得到“真”。

【讨论】:

  • 哦,我认为这是阶乘的东西,明白了,非常感谢
  • '=!'和 '!=' 不一样。另外,您显然没有阅读问题。您的回答没有解释为什么会出现编译时错误
  • 现在清楚了,谢谢
  • 另外:'==' 检查值是否相同:否。它没有。它检查引用是否相同。对于原始类型,没有重复项,这就是为什么对于原始类型,您可以检查它以比较值。那是另一回事
【解决方案2】:

对于 concat boolean with string in java 你首先需要将答案存储在一个变量中。 尝试使用这个。

public static void main(String[] args1) {
    boolean a=10!=2;
    System.out.println(a);  //Output is True
    System.out.println("Hello "+a);// Output is Hello true
}

【讨论】:

  • 为什么需要这个?将 ( ) 放在 10 != 2 周围会改变执行顺序,并给出正确的结果。基本上,您正在做的是创建一个额外的(不需要的)变量。不是解决问题的有效方法。
猜你喜欢
  • 1970-01-01
  • 2020-02-01
  • 2018-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-15
  • 1970-01-01
相关资源
最近更新 更多