在研究java多线程时突然发现了这么个字符retry,这是什么玩意,也不是关键字,经过研究才知道他是为实现goto。下面是java线程池用的一段代码,做一下解释:
开始标识retry:必须放到循环上面。当执行到退出标识时,则会退出循环1,因为开始标识为此循环做了标识。当执行到继续标识,则从新执行循环1.
下面我再做一个例子,做进一步的了解,代码如下:
private void demo(){
outer:
while(true){
go:
for(int i=0;i<10;i++){
Log.v(TAG,"i值为:"+i);
if(i==2){
inter:
for(int j=0;i<3;j++){
Log.v(TAG,"j值为:"+j);
if(j==1){
Log.v(TAG,"j==1跳出inter");
break inter;
}
}
}
if(i==3){
Log.v(TAG,"i==3,继续循环go");
continue go;
}
if(i==4){
Log.v(TAG,"i==4,跳出outer");
break outer;
}
}
}
}
以下为打印日志
08-18 13:33:51.601 18946-18946/com.tool.wpn.threadpooldemo V/Executor: i值为:0
08-18 13:33:51.601 18946-18946/com.tool.wpn.threadpooldemo V/Executor: i值为:1
08-18 13:33:51.601 18946-18946/com.tool.wpn.threadpooldemo V/Executor: i值为:2
08-18 13:33:51.601 18946-18946/com.tool.wpn.threadpooldemo V/Executor: j值为:0
08-18 13:33:51.602 18946-18946/com.tool.wpn.threadpooldemo V/Executor: j值为:1
08-18 13:33:51.602 18946-18946/com.tool.wpn.threadpooldemo V/Executor: j==1跳出inter
08-18 13:33:51.602 18946-18946/com.tool.wpn.threadpooldemo V/Executor: i值为:3
08-18 13:33:51.602 18946-18946/com.tool.wpn.threadpooldemo V/Executor: i==3,继续循环go
08-18 13:33:51.602 18946-18946/com.tool.wpn.threadpooldemo V/Executor: i值为:4
08-18 13:33:51.602 18946-18946/com.tool.wpn.threadpooldemo V/Executor: i==4,跳出outer
这下估计你对这种标识标签懂得了把。
最后
以上就是搞怪鞋子最近收集整理的关于Java通过continue、break与标签实现Goto的全部内容,更多相关Java通过continue、break与标签实现Goto内容请搜索靠谱客的其他文章。
发表评论 取消回复