Java通过continue、break与标签实现Goto

来源:互联网 发布:软件架构 书籍 编辑:程序博客网 时间:2024/05/29 13:19

在研究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


这下估计你对这种标识标签懂得了把。



原创粉丝点击