public class MyTest
{
public static void main(String args[]){
int x = 0;
int y = 0; for(int z = 0; z < 5; z++){
if((++x > 2)&&(++y > 2)){
x++;
}
}
System.out.println(x + " " + y);
}}
问最后打印出的结果。
呵呵,虽然有点搞,但还答对了
{
public static void main(String args[]){
int x = 0;
int y = 0; for(int z = 0; z < 5; z++){
if((++x > 2)&&(++y > 2)){
x++;
}
}
System.out.println(x + " " + y);
}}
问最后打印出的结果。
呵呵,虽然有点搞,但还答对了
z = 1时: x = 2 , y = 0
z = 2时: x = 3 , y = 1
z = 3时: x = 4 , y = 2
z = 4时: x = 5 + 1 , y = 3
////////////////////////////////////////////
菜鸟告诉你,z是先判断后加,而x,y是先加后判断,但是&&这个东西又让人很无奈,当他发现她前面的条件是个false的时候,他就不做下面的判断了,所以y捞不着加了。这样一直当++x>2满足了,他才站出来判断,结果他又得跟着x同时+,刚刚满足了条件,z就到了4了。所以if里面只进行了一次,却比y多了3
z = 0时: x = 1 , y = 0
z = 1时: x = 2 , y = 0
z = 2时: x = 3 , y = 1
z = 3时: x = 4 , y = 2
z = 4时: x = 5 + 1 , y = 3
///////////////////////////////////////////////////
可以参照他的结果。很明了了
如下:
-----------------------------------------------------------------------
a&&b
当为a真的时候才判断b的值,当a为假的时候整个表达式为假,不判断b的价值.
-----------------------------------------------------------------------
&&与运算中,碰到假就停止,后面的表达式不再作运算刚学的时候也搞了很久,不过试几次就知道咋回事了
:)