Continue 和 Break
1、什么是continue和break
continue:继续的、持续的
break:冲断的、折断的
作用:用于终止循环体,主要用于switch条件语句和循环体条件语句(for、while、do-while)
2、continue:语句的执行会终止本次循环,提前进入下一次循环
(1)案例:提前进入下一次循环体
public class test {
public static void main(String[] args) {
int i;
for(i=0;i<=10;i++)
{
if(i==5) //当i=5时,会跳过本次循环,提前进入下一个循环i=6,即当i=5时以下语句不会再继续执行,不会输出5
{
continue;
}
System.out.print(i+"\t");
}
}
}
输出结果:0 1 2 3 4 6 7 8 9 10
(2)案例2:当两层甚至多层for循环进行嵌套时,使用continue,条件满足时,不再执行continue之后的语句,提前进入下一次循环
public class test { public static void main(String[] args) { int i,j; for(i=0;i<=3;i++) { for (j=0;j<=3;j++) { if (j == 2) { //当j=2时,continue之后的语句不再继续执行,提前进入下一次循环体,即j=3,不会取到j=2时的值 continue; } System.out.println("第"+i+"层循环:"+i+"+"+j+"="+ (i+j)); } } } } 运行结果: 第0层循环:0+0=0 第0层循环:0+1=1 第0层循环:0+3=3 第1层循环:1+0=1 第1层循环:1+1=2 第1层循环:1+3=4 第2层循环:2+0=2 第2层循环:2+1=3 第2层循环:2+3=5 第3层循环:3+0=3 第3层循环:3+1=4 第3层循环:3+3=6
3、break:语句的执行并不会让整个方法结束,主要是终止理它最近的的那个循环体
(1)案例1:当只有一个for循环时,终止它所在的循环体
public class test {
public static void main(String[] args) {
int i;
for(i=0;i<=10;i++)
{
if(i==5) //如果i=5,则终止离他最近的循环体,即当前的这个for循环
{
break;
}
System.out.print(i+"\t");
}
}
}
输出结果:0 1 2 3 4
(2)案例2:当两层甚至多层for循环进行嵌套时,使用break,终止离它最近的循环体
public class test {
public static void main(String[] args) {
int i,j;
for(i=0;i<=3;i++)
{
for (j=0;j<=3;j++)
{
if (j == 2) { //当j=2时,终止内层for循环,进入外层for循环,即内层循环取到的值只有0和1
break;
}
System.out.println("第"+i+"层循环:"+i+"+"+j+"="+ (i+j));
}
}
}
}
输出结果:
第0层循环:0+0=0
第0层循环:0+1=1
第1层循环:1+0=1
第1层循环:1+1=2
第2层循环:2+0=2
第2层循环:2+1=3
第3层循环:3+0=3
第3层循环:3+1=4
(3)案例3:用终止其它循环体时,可以给别的循环体起别名,并在break 后加别名,就可以起到终止其它循环体的作用
public class test {
public static void main(String[] args) {
int i,j;
a : for (i=1;i<=9;i++)
{
for (j=1;j<=i;j++)
{
System.out.print(j+"*"+i+"="+i*j+"\t");
break a; //外层循环取别名为a,即会终止外层循环导致整个嵌套循环体结束
}
System.out.println();
}
}
}