Java标签?外,中,内
发布时间:2020-12-15 05:12:23 所属栏目:Java 来源:网络整理
导读:请不要担心循环,但我的问题是关于那些关键字:外部,中间和内部.它们不被声明为实例变量,为什么IDE让代码编译?我在google上做了一些搜索,是这个 java标签吗? Java中的某种关键字?多谢你们. public class LoopTest{public static void main(String[] args){
请不要担心循环,但我的问题是关于那些关键字:外部,中间和内部.它们不被声明为实例变量,为什么IDE让代码编译?我在google上做了一些搜索,是这个
java标签吗?
Java中的某种关键字?多谢你们.
public class LoopTest{ public static void main(String[] args){ int counter = 0; outer: for(int i = 0; i < 3; i++){ middle: for(int j = 0; j < 3; j++){ inner: for(int k = 0; k < 3; k++){{ } if(k - j > 0){ break middle; } counter++; } } } System.out.println(counter); } } 解决方法
Java支持标签.这在
this article from Oracle中描述.
所以,基本上你可以有带标签的循环,你可以使用关键字continue,break等来控制循环的流程. 以下示例说明了如何将循环与break关键字一起使用.当调用break时,它终止标记语句,即someLabel之后的语句 someLabel: for (i = 0; i < 100; i++) { for (j = 0; j < 100; j++) { if (i % 20 == 0) { break someLabel; } } } continue关键字以相同的方式处理标签.当你调用例如继续一些标签;外循环将继续. 作为per this SO-question你也可以做这样的结构: BlockSegment: if (conditionIsTrue) { doSomeProcessing (); if (resultOfProcessingIsFalse()) break BlockSegment; otherwiseDoSomeMoreProcessing(); // These lines get skipped if the break statement // above gets executed } // This is where you resume execution after the break anotherStatement(); 就个人而言,我绝不会建议使用标签.相反,如果您重新安排代码以便不需要标签(例如将复杂代码分解为较小的函数),我会发现代码更容易理解. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |