循环控制包含两方面的内容,一方面式控制循环变量的变化方式,另一方面是控制循环的跳转。
控制循环语句要用到break和continue两个关键字,这两条跳转语句效果不同,break是中断循环,continue是执行下一次循环
1、break语句
使用break语句可以跳出switch结构,同样也可用break语句跳出当前循环体,从而终端当前循环
public class BreakTest{
public static void main(String[] args){
for(int i=0;i<=100;i++){
System.out.println(i);
if(i==6){ //如果等于6则跳出循环
break;
}
}
System.out.println("--end--");//显示程序结束
}
}
注意:循环嵌套情况下,break语句只会使程序流程跳出包含它的最内层的循环结构,即只跳出一层循环
例:
public class BreakInsideNested{
public static void main(String[] args){
for(int i=0;i<3;i++){
for(int j=0;j<6;j++){
if(j==4){
break;
}
}
System.out.println("i="+i+"j="+j);
}
}
}
让break跳出外层循环,在Java中的语法结构为
标签名:循环体{
break 标签名;
}
标签名:任意标识符
循环体:任意循环语句
break 标签名:break跳出指定的循环体,此循环体的标签名必须与break的标签名一致。
例:
public class BreakOutsideNested{
public static void main(String[] args){
Loop:for(int i=0;i<3;i++){
for(int j=0;j<6;j++){
if(j==4){
break Loop;
}
}
System.out.println("i="+i+"j="+j);
}
}
}
continue语句
continue语句是针对break语句进行的补充。continue不是立即跳出循环体,而是跳过本次循环结束前的语句,回到循环的条件测试部分,重新开始执行循环
例:输出1~20之间的奇数,使用continue跳出循环
public class ContinueTest{
public static void main(String[] args){
for(int i=1;i<=20;i++){
if(i%2==0){ //如果i是偶数
continue; //跳到下一个循环
}
System.out.println(i); //输出i的值
}
}
}
与break语句一样,continue也支持标签功能
标签名:循环体{
continue标签名;
}