大家好,请帮我解决以下问题:
我有如下代码:
if(cond1 && cond2 && .. && cond10)
在这里,cond1是一些昂贵的操作,其输出为布尔值。
现在我的问题是,当cond2的输出为false时,JAVAC会怎么做。具体而言,它会评估cond3的输出还是停止评估?
更形象地说,
if(cond1 && cond2 && .. && cond10)
//do this
并且
if(cond1){
if(cond2){
.
.
.
if(cond10){
//do this
}
在Java中,如果执行方式相同,那么这两个东西是相同的吗?