java布尔类型变量bool,判断 true ==bool与bool==true区别

2025-01-24 17:31:07
推荐回答(4个)
回答1:

这主要是防止手误后导致调试困难。

bool==true 若因手误写成bool=true,也是个合法的语句,调试困难;

而true ==bool误写成true = bool,调试根本不通过。

如是而已,仅供参考~

欢迎指正~

回答2:

这就好像int num=2;然后判断num==2或2==num,完全没区别,只是把两个对象换个位置比较,怎么比都是相同的!

回答3:

【个人观点】:true ==bool与bool==true没有区别,判断bool是否为true可以直接用if(bool)而不需要if(bool==true)。
【结果】:
true: bool==true
true: true==bool
【测试代码】:
public calss Exam{
public static void main(String[] args){
boolean bool=true;
if(bool==true) System.out.println("true: bool==true");
if(true==bool) System.out.println("true: true==bool");
bool=false;
if(bool==true) System.out.println("false: bool==true");
if(true==bool) System.out.println("false: true==bool");
}
}

回答4:

从运算结果上来说呢,和楼上说的是一样,没有什么区别。
在这里有一个编程的习惯,在进行布尔值的运算的时候,
如果把常量写在“==”的左面,当你由于某种不可预知的失误,把“==”写成了“=”,那么编译器会报错,因为常量是不能被赋值的,这是我们这些初学者很容易犯得错误;
如果把变量写在“==”的左面,当你由于某种不可预知的失误,把“==”写成了“=”,那么编译器不会报错,因为编译器会认为这是一个赋值运算,而不是布尔运算。这个简单的错误可能会导致严重的后果,造成测试检查错误时费很大的力气也找不到错在哪里。
我想这就是判断 true ==bool与bool==true的区别吧!

在用quals方法判断两个字符串时,
如“abc”.equals(str);//str是个String变量

采用这种写法,就不会产生空指针异常。