码迷,mamicode.com
首页 > 其他好文 > 详细

基础.break; continue; return

时间:2014-12-29 21:24:46      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:

在break后紧跟一个标签,这个标签用于标识一个外层循环。
Java中的标签只有放在循环语句之前才有作用。

public class BreakTest2
{
    public static void main(String[] args) 
    {
        //外层循环,outer作为标识符
        outer:
        for (int i = 0 ; i < 5 ; i++ )
        {
            //内层循环
            for (int j = 0; j < 3 ; j++ )
            {
                System.out.println("i的值为:" + i + "  j的值为:" + j);
                if (j == 1)
                {
                    //跳出outer标签所标识的循环。
                    break outer;
                }
            }
        }
    }
}

输出结果:
i的值为:0 j的值为:0
i的值为:0 j的值为:1

break后的标签必须是一个有效的标签,即这个标签必须在break语句所在的循环之前定义,或者在其所在循环的外层循环之前定义。当然,如果把这个标签放在break语句所在的循环之前定义,也就失去了标签的意义,因为break默认就是结束其所在的循环。

 

 

区别:
break是完全终止循环本身;continue只是终止本次循环。

public class ContinueTest
{
    public static void main(String[] args) 
    {
        for (int i = 0; i < 3 ; i++ )
        {
            System.out.println("i的值是" + i);
            if (i == 1)
            {
                //略过本次循环的剩下语句
                continue;
            }
            System.out.println("continue后的输出语句");
        }
    }
}

输出结果:
i的值是0
continue后的输出语句
i的值是1
i的值是2
continue后的输出语句

从这个意义上看,如果把continue放在单次循环的最后一行,这个语句是没有任何意义的——因为它仅仅忽略了一片空白。

public class ContinueTest2
{
    public static void main(String[] args) 
    {
        //外层循环
        outer:
        for (int i = 0 ; i < 5 ; i++ )
        {
            //内层循环
            for (int j = 0; j < 3 ; j++ )
            {
                System.out.println("i的值为:" + i + " j的值为:" + j);
                if (j == 1)
                {
                    //跳出outer标签所指定的循环
                    continue outer;
                }
            }
        }
    }
}

j的值将无法超过1:每当j==1,continue outer就结束并开始下一次的外层循环

 
 
 
public class ReturnTest
{
    public static void main(String[] args) 
    {
        for (int i = 0; i < 3 ; i++ )
        {
            System.out.println("i的值是" + i);
            if (i == 1)
            {
                return;
            }
            System.out.println("continue后的输出语句");
        }
    }
}

循环执行到i==1时,程序将完全结束。
return直接结束整个方法,不论这个return处于多少层循环内

 

基础.break; continue; return

标签:

原文地址:http://www.cnblogs.com/fatoland/p/4192342.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!