语句-综合练习题目

时间:2022-01-17 00:13:31

第一题

if(x++==2 & ++y==2)

 x=7;
}
System.out.println("x="+x+",y="+y);

解析:不管是x++,还是++x,x的值肯定是变成了+之后的值,题目中,x++与2比较,是拿x预存的值与2比较,因此是1与2比较,就是假;

单&是左右两边都要执行的,++y==2是真,因此不执行x=7,最后结果是

-------------------x=2,y=2

第二题

int x=1,y=1;
if(x++==2 && ++y==2)

 x=7;
}
System.out.println("x="+x+",y="+y);

解析:由上题可知,&&左边是假,短路与,右边不执行,因此最终答案是

-------------------x=2,y=1

第三题

int x=1,y=1;
if(x++==1 | ++y==1)

 x=7;
}
System.out.println("x="+x+",y="+y);

解析:左边假,或,右边真,执行x=7,最终答案是

-------------------x=7,y=2

第四题

int x=1,y=1;
if(x++==1 || ++y==1)

 x=7;
}
System.out.println("x="+x+",y="+y);

解析:左边真,右边不执行,执行x=7,因此最终答案是

-------------------x=7,y=1

第五题

boolean b = true;

if(b==false)      //如果写成if(b=false)有结果吗?如果有,结果是?----是false,给b赋值false,因此答案是c

              System.out.println("a");

else if(b)

             System.out.println("b");

else if(!b)

             System.out.println("c");

else

             System.out.println("d");

答案是b

第六题

int x = 2,y = 3;

switch(x)

{

  default:

               y++;

    case 3:

                   y++;

      case 4:

                    y++;

}

System.out.println("y="+y);

答案是y=6