zoukankan      html  css  js  c++  java
  • Java中的break和continue关键字使用总结

    一、作用和区别 
    break的作用是跳出当前循环块(for、while、do while)或程序块(switch)。在循环块中的作用是跳出当前正在循环的循环体。在程序块中的作用是中断和下一个case条件的比较。 
    continue用于结束循环体中其后语句的执行,并跳回循环程序块的开头执行下一次循环,而不是立刻循环体。
     
    二、其他用途 
    break和continue可以配合语句标签使用。这个都很简单,下面给个综合实例,看看就明白 了:
    /** 
    * Created by IntelliJ IDEA. 
    * User: leizhimin 
    * Date: 2007-11-29 
    * Time: 15:47:20 
    */ 
    public class Test { 
        public static void main(String args[]) { 
            Test test = new Test (); 
            test.testBreak1(); 
    
            test.testContinue1(); 
    
            test.testBreak2(); 
            test.testContinue2(); 
        } 
    
        /** 
         * 测试continue 
         * continue用来结束本次循环 
         */ 
        public void testContinue1() { 
            System.out.println("--------测试continue-------"); 
            for (int i = 1; i <= 5; i++) { 
                if (i == 3) continue; 
                System.out.println("i=" + i); 
            } 
        } 
    
        /** 
         * break用来结束整个循环体 
         */ 
        public void testBreak1() { 
            System.out.println("--------测试break1-------"); 
            for (int i = 1; i <= 5; i++) { 
                if (i == 3) break; 
                System.out.println("i=" + i); 
            } 
        } 
    
        /** 
         * 测试带标签的break语句 
         * 标签只能写在循环体之前,顺便学习一下java中语句标签的定义和使用 
         */ 
        public void testBreak2() { 
            System.out.println("--------测试break2-------"); 
            int i = 1; 
            int k = 4; 
            lable1: 
            for (; i <= 5; i++, k--) { 
                if (k == 0) break lable1; 
                System.out.println("i=" + i + " ; k=" + k); 
            } 
        } 
    
        public void testContinue2() { 
            System.out.println("--------测试continue2-------"); 
            lable1: 
            for (int i = 1; i < 10; i++) { 
                lable2: 
                System.out.println("i=" + i); 
                for (int j = 0; j < 10; j++) { 
                    if (j == 9) continue lable1; 
                } 
            } 
        } 
    }
    运行结果:
    --------测试break1------- 
    i=1 
    i=2 
    --------测试continue------- 
    i=1 
    i=2 
    i=4 
    i=5 
    --------测试break2------- 
    i=1 ; k=4 
    i=2 ; k=3 
    i=3 ; k=2 
    i=4 ; k=1 
    --------测试continue2------- 
    i=1 
    i=2 
    i=3 
    i=4 
    i=5 
    i=6 
    i=7 
    i=8 
    i=9 

    Process finished with exit code 0 
    参考:Java中标签的使用 http://blog.csdn.net/whiteotiger/article/details/6522261

    下面是对这个用法的总结:

    (1) 简单的一个continue会退回最内层循环的开头(顶部),并继续执行。

    (2) 带有标签的continue会到达标签的位置,并重新进入紧接在那个标签后面的循环

    (3) break会中断当前循环,并移离当前标签的末尾。

    (4) 带标签的break会中断当前循环,并移离由那个标签指示的循环的末尾。


    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    grape入门
    半个小时写的一个二叉搜索树,实现了增,删,查功能
    Struts2 MVC 同 Spring MVC 的比较
    阿里巴巴 2016 java 实习岗位笔试题(昨天出炉)
    自己用20分钟java实现的单向链表(含有增删改查操作)
    关于 古人劝学 --写的真心是好 真的有收获
    JDK动态代理堆栈图详解--干货
    论闷声挣大钱与网红现象
    spring beanfactory --实现自己简单的 bean工厂类
    Spring IOC example one
  • 原文地址:https://www.cnblogs.com/xieping/p/4784556.html
Copyright © 2011-2022 走看看