Boolean flag = true;
int a = 0;
if(!flag){
a = 1;
}else if(flag){
a = 2;
}
//结果是a = 2;
在这里,flag的值定义为true。if里的判断是:将if里的flag值和flag定义的值进行比较。
flag定义的=true。
第一个if是(!flag)即括号里为false
两者相比较,一个true,一个false,所以判断为false。
第二个if是(flag)即括号里为true
两者相比较,都为true,所以为true。所以结果是2。