更新时间2018-07-13 22:42:18
class Test {
public static void main (String [] args) {
boolean x= true;
boolean y=false;
short z=20;
if((x==true) && (y=true)) z++;
if((y==true) || (++z==22)) z++;
System. out .println( "z="+z);
}
}
结果为
z=22;
分析
if((x==true) && (y=true)) z++;
注意:
表达式中是(y=true)而不是(y==true),它们的意义完全不同,前者是赋值 ,且表达式结果为true,z=z+1=21
而
if((y==true) || (++z==22)) z++;
中++z并不改变z的值,所以最后z=z+1=22