繁体   English   中英

Java中的关键字循环有什么作用?

[英]What does the keyword loop in Java do?

public class Test 
{
        public void add(int a) 
        {
            loop: for (int i = 1; i < 3; i++)
            {
                    for (int j = 1; j < 3; j++) 
                    {
                        if (a == 5) 
                        {
                        break loop;
                        }
                        System.out.println(i * j);
                    }
            }
        }

        public static void main(String[] str)
        {
            Test t=new Test();
            t.add(4);s
        }
}

这是终止两个嵌套循环的捷径。 引用Java教程中的Branching Statements页面

break语句终止带标签的语句; 它不会将控制流转移到标签上。 控制流紧接在标记(终止)的语句之后转移到该语句。

无标签的break语句终止for,while或do-while语句的最里面的开关,但是带标签的break终止外部的语句。

它不是关键字,而是您选择的标签。 只需用labelName: ...标记外部循环labelName: ... 然后,您可以通过调用break labelName;来嵌套循环并从中退出break labelName;

yourLabelName: for(int i = 0; i < 3; ++i) {
    for (int j = 0; j < 7; ++j) {
        break yourLabelName;
    }
}
// After calling break yourLabelName, you will end up here 

在您的情况下,当a == 5 ,两个循环都退出,并且add()方法终止(返回)。

首先这个代码将无法编译,因为是s出现在你的代码。 t.add(4);s 删除s 删除s您的代码输出将为1 2 2 4 循环不是keyword而是Java中的label expression

label语法

label strLabel:
//Labeled block of statements

可以用breakcontinue指定标签

伴侣,

loop在Java中不是任何关键字。 它的标签。 标签始终会中断使用,并继续传递控制流。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM