4.4 中断与继续语句
在实际编程中,可能会出现中断某个程序,或从一个程序点开始,继续执行程序的特殊情况。对于这种特殊情况,Java会使用中断与继续功能来解决。
4.4.1 中断控制语句
在Java程序开发中,使用关键字“break”来表示中断控制。中断控制语句用来强行退出程序的循环体部分。
【实例4.14】为了能熟悉中断控制语句,下面看一个简单的程序段,通过这个例子,可以看到中断控制语句在实际开发中的用处。
01 //通过System.out语句可以将数据打印出来 02 public class control11 03 { 04 public static void main(String[] args) 05 { 06 int i=1; 07 while(i<=10) 08 { 09 System.out.println(i); 10 i++; 11 if(i>5) 12 {break;} 13 } 14 } 15 }
【代码说明】第11行添加了一个条件语句,当变量i大于5时,使用break语句退出while循环体。
【运行效果】
1 2 3 4 5
【实例4.15】如果上述代码中,没有中断语句强行退出,则代码如下所示。
01 //通过将System.out语句放置在中断语句之前,则会循环到最后 02 public class control12 03 { 04 public static void main(String[] args) 05 { 06 int i=1; 07 while(i<=10) 08 { 09 System.out.println(i); 10 i++; 11 } 12 } 13 }
【代码说明】第7~11行是while循环体,这里没有使用中断语句,所以符合条件的变量i值全部输出。
【运行效果】
1 2 3 4 5 6 7 8 9 10
从上面两个案例的程序段运行结果可以看出:当使用了break语句后,程序执行到“x=6”时,根据条件判断“x>5”,执行中断语句,直接退出程序的循环体部分。
说明
由以上程序段可以总结一个规律:中断语句一般和条件语句结合使用,当满足条件语句中的条件时,就会执行中断语句。
【实例4.16】下面再看一个有关中断语句的例子。
01 //通过将System.out语句放置在中断语句之前,则会循环一次,再退出循环 02 public class control13 03 { 04 public static void main(String[] args) 05 { 06 for(int i=2;i<10;i++) 07 { 08 System.out.println(i); 09 if(i%2==0) 10 {break;} 11 } 12 System.out.println("退出来了"); 13 } 14 }
【代码说明】第9~10行又是条件语句和中断语句集合,在符合条件的时候,退出for循环体。当“i”是偶数的时候,直接中断循环体。由于第8行的输出方法属于循环体中的方法,所以不会执行它。
【运行效果】
2 退出来了
【实例4.17】将输出方法的位置进行调整,再看下面的代码。
01 //通过将System.out语句的位置放置在中断语句之后,则直接退出循环 02 public class control14 03 { 04 public static void main(String[] args) 05 { 06 for(int i=2;i<10;i++) 07 { 08 if(i%2==0) 09 {break;} 10 System.out.println(i); 11 } 12 System.out.println("退出来了"); 13 } 14 }
【代码说明】与前面的程序段一样,代码会直接跳出循环体程序,第12行的输出方法在循环体外,所以得以执行。
【运行效果】
退出来了
通过上述几个实例,可以总结出中断语句的使用方法如下:
一般和条件判断语句结合使用,中断语句是中断整个循环体。跳出循环体后,直接执行循环体以外的语句。
4.4.2 继续语句
在Java程序设计中,继续语句使用关键字“continue”表示。继续语句同中断语句一样,用在循环体中,继续语句是用于终止当前循环体,返回到循环开始处,接着开始新的循环。
【实例4.18】下面先看一个有关继续语句的实例。
01 ///只在奇数时,才输出,偶数时,会退出本次循环 02 public class control15 03 { 04 public static void main(String[] args) 05 { 06 for(int i=1;i<10;i++) 07 { 08 if(i%2==0) 09 {continue;} 10 System.out.println(i); 11 } 12 System.out.println("退出来了"); 13 } 14 }
【代码说明】仔细分析以上的程序段,如果使用“break”语句,那么运行结果中只有一个“1”,而用了继续语句,则输出了10以内的奇数。在程序中,如果“i”是偶数,遇到继续语句,就终止“System.out.println(i)”这个语句,又跳到循环开始,重新循环。所以,只要遇到偶数就会终止程序,遇到奇数程序就会继续运行。
【运行效果】
1 3 5 7 9 退出来了