实际上,这是我第一次看到这样的代码:
class A
{
public static void main(String args[])
{
outer : for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
if(j > i)
{
System.out.println();
continue outer;
}
System.out.print(" " +( i *j ));
}
}
System.out.println();
}
}
我不理解的两行:
outer : for(int i=0;i<10;i++) // this seems similar to 'for each'?
continue outer; // I know that 'continue' will break the loop and continue the next turn, but what will do in this situaton?
答案 0 :(得分:10)
outer:
部分是标签。它基本上标记了循环。循环本身就像正常一样。
continue outer;
表示“继续回到标记为outer
的循环体的开头”(当然,在递增并测试i
之后)。这有点像使用break;
语句退出内部循环,然后立即使用正常的continue;
语句继续外循环的下一步。
答案 1 :(得分:4)
outer : for(int i=0;i<10;i++)
定义外部循环的标签,称为outer
continue outer;
表示转到标记为outer
答案 2 :(得分:3)
outer
是一个标签,当调用continue outer;
时,代码将跳转到outer
标签并从那里继续。在这种情况下,它背后的原因是编码器想要在j>i
时退出内循环并继续外循环。
答案 3 :(得分:2)
答案 4 :(得分:1)
Outer:是一个标签,而不是继续内循环,你通过指定标签继续外循环
答案 5 :(得分:1)
outer
是一个标签,而continue outer
基本上是goto
,但会继续循环而不是重新开始。
答案 6 :(得分:1)
outer:
定义了一个标签“外部”,您可以在break
和continue
中使用该标签。它只允许在循环结构前面(for
,while
,do
)。
所以continue outer
表示“继续使用外部循环”或“将continue
应用于具有匹配标签的循环”。