本帖最后由 赵然 于 2013-5-3 20:46 编辑
明白&与&&的区别这个题目就容易解决了。
&是两边都需要判断,&&是如果左边真的话继续判断右边是否为真,但是如果左边为假,则直接跳出if语句,&&右边的就不运行了。
int x = 4;
int y = 5;
if(x++>4&&++y>5)//先判断x与4比较 不大于四所以直接跳出if语句然后执行x++所以x=5,y依然是5
{
x++;
}
System.out.println("x= "+x+", y= "+y);
int x = 4;
int y = 5;
if(x++>4&++y>5)//判断x与4比较 不大于四之后继续向下执行++y,y=6>5跳出IF语句。这是执行x++,所以到执行输出语句时是x=5,y=6
{
x++;
}
System.out.println("x= "+x+", y= "+y); |