zoukankan      html  css  js  c++  java
  • 使用标签代替goto关键字

    众所周知,java中没有goto语句,但是保留了goto这个关键字。由于goto是在源码级上的跳转,多次使用goto会引起代码混乱容易出错,这也是java取消goto语句的目的所在,但是goto语句也有它的优点,在少数情况下goto还是组织控制流程的最佳手段。在java中虽然没有goto,但是我们可以用标签结合关键字(break,continue)来实现goto的功能。代码如下:

     1 package demo;
     2 public class LabeledFor {
     3     public static void main(String[] args) {
     4         int i = 0;
     5         outer:
     6             for(;true;){
     7                 inner:
     8                     for(; i < 10 ; i++){
     9                         System.out.println("i = " + i);
    10                         if(i == 2){
    11                             System.out.println("continue");
    12                             continue;  //结束当前循环
    13                         }
    14                         if(i == 3){
    15                             System.out.println("break");
    16                             i++;
    17                             break;  //强制退出循环
    18                         }
    19                         if(i == 7){
    20                             System.out.println("continue outer");
    21                             i++;
    22                             continue outer;  //结束当前循环并回到标签outer处重新执行代码
    23                         }
    24                         if(i == 8){
    25                             System.out.println("break outer");
    26                             break outer;   //结束循环并回到标签outer处执行循环之外的代码
    27                         }
    28                         for(int k = 0;k < 5; k++){
    29                             if(k == 3){
    30                                 System.out.println("continue inner");
    31                                 continue inner;  //结束当前循环并回到标签inner处重新执行代码
    32                             }
    33                         }
    34                     }
    35             }    
    36         
    37         System.out.println("break outer 跳出外部循环执行剩下的代码");
    38         return;//结束return可以结束代码,可以体现更好的效果,这里就不演示了
    39     }
    40 }

    打印结果:

    i = 0
    continue inner
    i = 1
    continue inner
    i = 2
    continue
    i = 3
    break
    i = 4
    continue inner
    i = 5
    continue inner
    i = 6
    continue inner
    i = 7
    continue outer
    i = 8
    break outer
    

      同样的规则也适用while循环

  • 相关阅读:
    理解python可变类型vs不可变类型,深拷贝vs浅拷贝
    在centos上安装mysql5.7的三种方法
    使用python脚本实现基于指定字符串的文本排序
    在CentOS 7上安装Python3.5源码包
    SVN入门使用
    Linux-vim命令
    在博客园里使用百度统计
    个人网站类型的运维
    apache解析多个域名
    使用php来访问操作sql server
  • 原文地址:https://www.cnblogs.com/dyfbk/p/6864241.html
Copyright © 2011-2022 走看看