How does Java deal with multiple conditions inside a single IF statement

前端 未结 4 1839
谎友^
谎友^ 2020-12-15 21:40

Lets say I have this:

if(bool1 && bool2 && bool3) {
...
}

Now. Is Java smart enough to skip checking bool2 and bool2 if boo

4条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-15 22:20

    Is Java smart enough to skip checking bool2 and bool2 if bool1 was evaluated to false?

    Its not a matter of being smart, its a requirement specified in the language. Otherwise you couldn't write expressions like.

    if(s != null && s.length() > 0)
    

    or

    if(s == null || s.length() == 0)
    

    BTW if you use & and | it will always evaluate both sides of the expression.

提交回复
热议问题