public class test41 {
public static void main(String[] args) {
boolean state = false;
int i = 1;
if((++i > 1) && (state=true)) i++;
if((++i > 3) || (state=false)) i++;
System.out.println(i);
}
}
因为 ++3>3的时候退出if语句。
int i = 1;
if((++i > 1) && (state=true)) i++;
if((++i > 3) || (state=false)) i++;
++i 先加加 2>1 然后state是赋值语句,此时state 是true 3
++i 先加加 4>3 true 直接 i++了。
加了4次 所以是5
如有帮助,请采纳。
以下才是你要看到的结果吧:
这个题关键点在于state=true 这个是一个赋值表达式,而不是一个判断表达式。
改成==判断后