Java Break和continue实现goto功能

                                           continue实验
1
public class test { 2 static int i =0; 3 public static void main(String[] args) { 4 lable1: 5 while(true){ 6 7 if(i == 6){ 8 System.out.println("从lable2下的循环跳到了lable1"); 9 break; 10 // continue lable2; 11 } 12 13 lable2: 14 while(true){ 15 if(i == 5){ 16 System.out.println("将从lable2将跳到lable1"); 17 i++; 18 continue lable1; 19 } 20 i++; 21 } //labe2 22 }//lable1 23 }//main 24 }//

上边代码有两个while循环,并且是嵌套的;笔者在外层while循环设置Lbale1,在内层while设置Lable2标签

当静态变量 i =5的时候,执行

continue lable1;
就会从内层循环跳转到外层循环,并且从头开始执行外层循环

continue使用注意事项:
  
  1. 循环内部跳转

  2. 方向向上

 错误演示:非内部跳转   

break实验

和cotinue一样,但continue是跳转到标签处后继续执行,而break会停止在标签处不动

 1 lable1:
 2     while(true){
 3         System.out.println(i);
 4         i++;
 5         
 6         if(i==3){
 7             System.out.println("i = 10,break到lable1");
 8             break lable1;
 9         }
10     }

结果:

1 0
2 1
3 2
4 i = 10,break到lable1

结果发现,当执行到 i==3 后,执行

break lable1;
会break 到lable1处的while()。发现程序不再执行

                                        总结
  1. continue和break的相同点,
  • 都能实现goto功能(continue lable;break lable)
  • 内部跳转(continue/break语句 在循环的内部)
  • 向上跳转continue/break 后接的标签必须在continue/break语句的上边

特殊情况:有循环嵌套依然遵循内部跳转和向上跳转

2. ontinue和break的不同点  

·continue是跳转到标签处继续执行

   ·break跳转到标签处停止运行

posted @ 2018-08-28 21:13  明日中午  阅读(1985)  评论(0编辑  收藏  举报