我不知道这段代码:
t:
while (true) {
break t;
}
你能帮我吗?
答案 0 :(得分:2)
此构造称为“标记中断”,可用于同时中断多个嵌套循环。
引用Oracle tutorial中的示例:
>>> df_links_list.to_excel('file.xlsx', header=False, index=False)
在这里,未标记的中断(即简单地search:
for (i = 0; i < arrayOfInts.length; i++) {
for (j = 0; j < arrayOfInts[i].length;
j++) {
if (arrayOfInts[i][j] == searchfor) {
foundIt = true;
break search;
}
}
}
)只会终止内部循环,而break
会立即终止两个循环。
答案 1 :(得分:0)
这只是一个label
,您可以将其放置在任何地方,然后根据自己的条件可以“ break
”或“ continue
”。它可以在nested if-else
中与for
循环以中断多个循环。
这里的break t;
只是意味着从labelled
的{{1}}的while循环中爆发。
这对于打破嵌套循环很有用
答案 2 :(得分:0)
这称为“级别”,是其他语言中“ goto”的替代形式。尽管“ goto”在Java中是保留字,但在该语言中并未使用。 Java没有goto。但是,它的确有点像是与break和continue关键字相关联的跳转:关卡。
标签是一个标识符,后跟一个冒号,例如: label1:
在Java中使用标签的唯一位置就在迭代语句之前。在迭代之前放置标签的原因是,如果您要嵌套另一个迭代或其中的开关。这是因为break和continue关键字通常只会中断当前循环,但是当与标签一起使用时,它们会中断循环直至标签存在:
label1:
outer-iteration {
inner-iteration {
//...
break; // (1)
//...
continue; // (2)
//...
continue label1; // (3)
//...
break label1; // (4)
}
}
在(1)中,中断突破了内部迭代,而您最终进入了外部迭代。在(2)中,continue移回到内部迭代的开始。但是在(3)中,continue label1从内部迭代和外部迭代中脱颖而出,一直返回到label1。然后它实际上会继续迭代,但是从外部迭代开始。在(4)中,break标签1也会一直扩展到label 1,但不会重新进入迭代。实际上,它确实没有两次迭代。
希望得到帮助!