相关疑难解决方法(0)

一个if语句中的两个条件是第二个,如果第一个是假的吗?

好的,所以我测试了这段代码,发现没有任何异常被抛出.

public static void main(String[] args) {
    int[] list = {1,2};
    if (list.length>2 && list[3] == 2){
        System.out.println(list[1]);
    }
}
Run Code Online (Sandbox Code Playgroud)

声明在这里

if (list.length>2 && list[3] == 2)
Run Code Online (Sandbox Code Playgroud)

意味着如果第一个条件是假的,我们甚至不必检查第二个条件?

或者等于

if (list.length>2){
    if (list[3] == 2){
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

而且,如果它是用C或python或其他语言编写的呢?

谢谢

java if-statement conditional-statements

33
推荐指数
3
解决办法
7万
查看次数

条件OR运算符的短路行为(||)

两个条件运算符&&和|| 根据
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html进行短路,这意味着第二个操作数有时不需要进行评估.

有人可以提供一个示例,其中条件OR(||)运算符将被短路?

使用条件AND(&&)运算符时,短路行为非常简单:

如果(false &&(1> 0))则第二个操作数:(1> 0)不需要被评估,但似乎无法找到/想到条件OR的示例.

java operators

13
推荐指数
2
解决办法
1610
查看次数