如果第一个条件失败,则将检查第二个条件 -java

nan*_*ana 1 java while-loop conditional-statements

如果我在java中有一个 while 条件如下 while(j>=1 && i<=7) 我的问题是如果第一个条件失败那么将检查第二个条件?换句话说,如果 j=0,编译器将检查 I<=7 是否,否则将忽略它。请帮助我,谢谢

Mat*_*ero 6

不,如果第一个条件返回false,则整个表达式自动返回false

Java不会费心检查其他条件。


Dim*_*ima 5

(j>=1 && i<=7 && cond1 && cond2 && ... && condN) // will evaluate until the one condition fails
(j>=1  & i<=7  & cond1  & cond2  & ...  & condN) // will evaluate all the conditions
Run Code Online (Sandbox Code Playgroud)

or

(j>=1 || i<=7 || cond1 || cond2 || ... || condN) // will evaluate until the one condition is true
(j>=1  | i<=7  | cond1  | cond2  | ...  | condN) // will evaluate all conditions
Run Code Online (Sandbox Code Playgroud)

例子:

让我们使用这两种方法:

public boolean isTrue(){
  System.out.println("true");
  return true;
}

public boolean isFalse(){
  System.out.println("false");
  return false;
}
Run Code Online (Sandbox Code Playgroud)

所以,在第一种情况下:

boolean cond = isFalse() && isTrue(); 
Run Code Online (Sandbox Code Playgroud)

输出是:

 false
Run Code Online (Sandbox Code Playgroud)

条件的值为false

在第二种情况下:

boolean cond = isFalse() & isTrue(); 
Run Code Online (Sandbox Code Playgroud)

输出是:

 false
 true
Run Code Online (Sandbox Code Playgroud)

条件的值为false