在使用循环语句的时候,只有当循环条件的表达式为假时,才会跳出循环。有时候我们想提前跳出循环,那么就需要在循环内部使用break或者continue。
break可以终止循环和switch语句。一个无标号的break会把控制转移到当前(最内)循环(while,do....while,for或switch)的下一条,如果有标号,会转移到带有该标号的语句处。例如:
1 package com.review.chapter2; 2 3 public class TestBreak { 4 public static void main(String[] args) { 5 int i = 0; 6 7 one:while(i < 5){ //定义一个带有标号的while循环 8 System.out.println("outer:"+i); 9 i++; 10 if(i == 3){ 11 System.out.println("inner:" + i); 12 break one; //当i=3时,跳出标号为one的循环 13 } 14 } 15 16 System.out.println("带标号的循环"); 17 } 18 }
在上面的代码中,我们定义的while循环带有一个标号,而在if语句中,当i==3时,就会跳出标号为one的循环,继续执行下面的语句。所以结果如下:
无标号的continue语句表示跳过本次循环要执行的剩余语句,然后开始下一次循环。例如下面我们打印出将1--100的奇数相加:
1 package com.review.chapter2; 2 3 public class OddSum { 4 public static void main(String[] args) { 5 int sum = 0; 6 7 for(int i = 1;i < 100;i++){ 8 if(i % 2 == 0){ 9 continue; 10 } 11 sum += i; 12 } 13 14 System.out.println("1--100的奇数和为: " + sum); 15 } 16 }
有标号的continue用法与带标号的break语句差不多。这里就不赘述了。
时间: 2024-11-05 20:48:41