流程控制语句
if语句
对下列代码,若有输出,指出输出结果**。
1)int x = 4;
int y = 1;
if (x > 2) {
if (y > 2)
System.out.println(x + y);
System.out.println("atguigu");
} else
System.out.println("x is " + x);
2)boolean b = true;
if(b == false) //如果写成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");
揭晓答案
1)
这是因为if后面紧跟的一条语句是一个整体,所以当判断y>2为否时,就不用执行打印x+y了,而是执行后面一条打印“atguigu”的语句
2)
if(b==false)是判断语句,此时为false,则打印“b”
若把b==false 换成b=false,会怎么执行呢?
下面为执行结果