请写出下来各题的结果:先分析得出结果,后可以通过运行来得到结果进行验证。
第一题
int x = 1,y = 1;
if(x++==2 & ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
因为 x++ != 2,&不带短路效果.if后面条件执行语句判断为false所以if后面表达式不成立,不起作用.但是x和y已经完成了自增的操作.所以输出为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是false后面不再执行.所以结果是x=2 y=1
---------------------------------------------------
第三题
int x = 1,y = 1;
if(x++==1 | ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
x++==1是true,并且表达式是 用 |逻辑运算符连接的,因此x=7 y=2
---------------------------------------------------
第四题
int x = 1,y = 1;
if(x++==1 || ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
||连接前面为true后面不执行,结果是x=7 y=1
---------------------------------------------------
第五题
boolean b = true;
if(b==false)
System.out.println("a");
else if(b)
System.out.println("b");
else if(!b)
System.out.println("c");
else
System.out.println("d");
b
---------------------------------------------------b
第六题
int x = 2,y=3;
switch(x)
{
default:
y++;
case 3:
y++;
case 4:
y++;
}
System.out.println("y="+y);
Y=6
变量运算符思路练习
最新推荐文章于 2024-05-25 22:49:47 发布