break continue goto
break
1.break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行推出循环,不执行循环中的剩余语句。(break语句也可以在switch语句中使用)
public class demon03 {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.println(i);
if(i==5) break;
}
}
}
- 上面的代码中,不加break的话,他是输出0 1 2 3 4 5 6 7 8 9,而加上break的时候 他只输出 0 1 2 3 4 5 因为当i==5的时候,他就跳出for这个大循环。
continue
- continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环体的判定。
public class demon03 {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
if(i==5) continue;
System.out.println(i);
}
}
}
- 上面的代码中,不加continue的话,他是输出0 1 2 3 4 5 6 7 8 9,而加上continue的时候 他只输出 0 1 2 3 4 6 7 8 9 因为当i==5的时候,他就跳出 本次for的小循环 ,他后面的语句不再执行,然后进行下次该for循环判定。
goto
-
goto关键字很早就在程序设计语言中出现,尽管goto仍是java的一个保留字,但并未在语言中得到正式使用,因为他容易出现一些问题,java没有goto。然而,在break 和 continue 身上,我们仍然可以看到goto 的一些影子------即带标签的break和 continue。
-
“标签”是指后面跟一个冒号的标识符,例如: label:
-
对于java来说唯一用到标签的地方就是循环语句之前,而在循环之前设置标签的唯一理由就是,我们希望在其中嵌套另一循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,他们就会中断到存在标签的地方。
public class demon03 { public static void main(String[] args) { label: for (int i = 101; i < 151; i++) { for(int j=2;j<i/2;j++){ if (i%j==0) {continue label;} } System.out.println(i); } } }