轉自:http://lihengzkj.iteye.com/blog/1090034spa
之前不知道在循環中能夠使用標籤。最近遇到後,舉得仍是有其獨特的用處的。我這麼說的意思是說標籤在循環中能夠改變循環執行的流程。而這種改變不是咱們之前單獨使用break或者是continue可以達到的。下面仍是看看實例吧。
blog
執行的結果是:
begin to itrate. 0
now the value of j is:0
now the value of j is:1
******************
begin to itrate. 1
now the value of j is:0
now the value of j is:1
******************
begin to itrate. 2
begin to itrate. 3
now the value of j is:0
now the value of j is:1
******************
注:當i=2的時候,continue outer1 使程序回到了outer1最開始循環的位置,開始下一次循環,這個時候執行的循環是i=3而不是從新從i=0開始。同時當使用continue outer1跳出內層循環的時候,外層循環後面的語句也不會執行。也就是是在begin to itrate. 2後面不會出現一串*號了。
對比: string
注:咱們直接使用break的話,只是直接跳出內層循環。結果其實就能夠看出區別來:
begin to itrate. 0
now the value of j is:0
now the value of j is:1
******************
begin to itrate. 1
now the value of j is:0
now the value of j is:1
******************
begin to itrate. 2
******************
begin to itrate. 3
now the value of j is:0
now the value of j is:1
******************
-----------------------------------------------------------------分割線
咱們再來看看break+標籤的效果 it
結果:
begin to itrate. 0
now the value of j is:0
now the value of j is:1
******************
begin to itrate. 1
now the value of j is:0
now the value of j is:1
******************
begin to itrate. 2
注:從結果就能夠看出當i=2的時候,break+標籤 直接把內外層循環一塊兒停掉了。而若是咱們單獨使用break的話就起不了這種效果,那樣只是跳出內層循環而已。
最後說一句,Java中的標籤只適合與嵌套循環中使用。class