您的位置:首页 > 产品设计 > UI/UE

中断控制流程语句:break、continue

2017-08-07 17:51 417 查看
流程语句在我们开发过程中经常用到,我们常用到的流程语句有if、for、while、do while、swith等。

在这些流程当中,有时候我们需要跳出流程,所以需要用到中断流程的语句,特别是多流程嵌套时,更容易用到。

中断流程语句,java中常用的是break、带标签的break和continue。

下面就举几个简单地实例,来记录下这些语句的用法。

案例一:简单地break
package test.java;

/**

 * 中断控制流程语句

 * @author Tastill

 *

 */

public class test3 {

    //break

    public static void main(String[] args) {

        int i = 1;

        int k = 1;

        //break

        while(i < 10){

            k += i;

            System.out.println("break之前  i:" + i + "  " + "k:" + k);

            if(k > 10) break;

            System.out.println("break之后  i:" + i + "  " + "k:" + k);

            i++;

            k++;

        }

       

    }   

}

这是一个简单地单循环语句,显而易见,当k>10时,会跳出该循环,不在执行后面代码。

那么既然有单循环语句,就不会有嵌套循环语句以及判断语句,古人云,言多必失,代码也是一样,越复杂,就越容易出错,所以控制流程语句嵌套很深的时候,在某种特定的情况下我们需要跳出所有控制流程,那么问题来了,JAVA支持吗?

显而易见,是支持的,这里我们就需要用到带标签的break

案例二:带标签的break

package test.java;

/**

 * 中断控制流程语句

 * @author Tastill

 *

 */

public class test3 {

    //break

    public static void main(String[] args) {

        int i = 1;

        int k = 1;

        //break break_data

        break_data:

        while(i < 10){

            k += i;

            System.out.println("break之前  i:" + i + "  " + "k:" + k);

            if(k < 100){

                System.out.println("进入k < 100循环");

                if(i+k > 20){

                    System.out.println("进入i+k > 20循环");

                    break break_data;

                }else{

                    System.out.println("进入i+k > 20 的 else 循环");

                }

            }else{

                System.out.println("进入k > 100 的 else 循环");

            };

            System.out.println("break之后  i:" + i + "  " + "k:" + k);

            i++;

            k++;

        }

       

    }

   

}

break的标签就是:break_data,注意,这里的break_data后面一定要加“:”号。

当i+k >20的时候,就会跳出所有循环,然后执行循环外的代码。

案例三:continue

package test.java;

/**

 * 中断控制流程语句

 * @author Tastill

 *

 */

public class test3 {

    //break

    public static void main(String[] args) {

        int i = 1;

        int k = 1;

        //continue

        for (int j = 0; j < 20; j++) {

            System.out.println("==========================================");

            System.out.println("i:" + i + "  " + "j:" + j);

            if(j < 5) continue;

            System.out.println("i:" + i + "  " + "j:" + j);

            j += i;

            i++;

        }

       

    }

   

}

continue语句将控制转移到了最内层循环的首部,即当j<5时,continue语句会越过当前循环的剩余部分,直接跳到循环首部,例如本案例中j<5时,continue语句直接跳转到j++语句。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐