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,会怎么执行呢?
下面为执行结果
if(b=false)括号内为赋值语句,此时b=false,但不会继续执行打印a的语句,因为if(b=false)返回的不是true,而是赋值后的false。所以按顺序往下走,一直走到if(!b),这时为true,所以最后结果打印了c
break和continue
break 语句
break语句用于终止某个语句块的执行
{ ……
break;
……
}
break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块
label1: { ……
label2: { ……
label3: { ……
break label2;
……
}
}
}
break 语句用法举例
public class TestBreak{
public static void main(String args[]){
for(int i = 0; i<10; i++){
if(i==3)
break;
System.out.println(" i =" + i);
}
System.out.println("Game Over!");
}
}
运行结果:
i自增,增到i=3时,终止for循环
continue语句
continue语句用于跳过某个循环语句块的一次执行
continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环
continue语句用法举例
public class ContinueTest {
public static void main(String args[]){
for (int i = 0; i < 100; i++) {
if (i%10==0)
continue;
System.out.println(i);
} } }
运行结果:
就是整十的数被跳过了,未打印