java循环结构中break、continue、return的区别及使用情景

说到java循环结构就顺便提一下标签,“标签”是后面跟一个冒号的标识符,就象下面这样:

label1:

对Java 来说,唯一用到标签的地方是在循环语句之前。进一步说,它实际需要紧靠在循环语句的前方——在标签和循环之间置入任何语句都是不明智的。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环或者一个开关。这是由于 break和 continue 关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。如下所示:
label1:
外部循环{
内部循环{
//...
break; //条件1
//...
continue; //条件2
//...
continue label1; //条件3
//...
break label1; //条件4
}
}

在条件1 中,break 中断内部循环,并在外部循环结束。在条件2 中,continue 移回内部循环的起始处。但在条件3 中,continue label1 却同时中断内部循环以及外部循环,并移至label1 处。随后,它实际是继续循环,但却从外部循环开始。在条件4 中,break label1也会中断所有循环,并回到label1 处,但并不重新进入循环。也就是说,它实际是完全中止了两个循环。

而return的作用是,中断循环的同时退出方法。

总结一下就是:

(1) 简单的一个 continue 会退回最内层循环的开头(顶部),并继续执行。

(2) 带有标签的 continue 会到达标签的位置,并重新进入紧接在那个标签后面的循环。

(3) break 会中断当前循环,并移离当前标签的末尾。

(4) 带标签的break 会中断当前循环,并移离由那个标签指示的循环的末尾。

(5) 使用return直接中断循环退出方法,return不与标签结合使用。

猜你喜欢

转载自blog.csdn.net/qq784515681/article/details/79424601