break、continue、goto
break关键字
break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
break 跳出最里层的循环,并且继续执行该循环下面的语句。
public class Demo01 {
public static void main(String[] args) {
int i = 0;
while (i<100){
i++;
System.out.println(i);
if (i==30){
break;
}
}
}
}
输出结果如下
当i=30时,就跳出了这个循环
continue 关键字
continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
在 for 循环中,continue 语句使程序立即跳转到更新语句。
在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。
public class Demo01 {
public static void main(String[] args) {
int i = 0;
while (i<100){
i++;
if (i==30){
continue;
}
System.out.println(i);
}
}
}
输出结果如下
将输出语句放在if语句之后,当i=30之后,执行continue语句,直接跳出此次循环进入下一个循环,所以没有30输出,但是循环还在进行
goto
【了解即可】
- goto关键字很早就在程序设计语言中出现。尽管goto仍是Java的一个保留字,但并未在语言中得到
正式使用;Java没有goto。然而,在break和continue这两个关键字的身上,我们仍然能看出一些
goto的影子—带标签的break和continue。 - “标签”是指后面跟一个冒号的标识符,例如:label:
- 对Java来说唯一用到标签的地方是在循环语句之前。而在循环之前设置标签的唯一理由是:我们希
望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使
用,它们就会中断到存在标签的地方。 - 带标签的break和continue的例子:
public class Demo01 {
public static void main(String[] args) {
int count = 0;
outer:for (int i = 101; i < 150; i++) {
for (int j = 2; j < i / 2; j++) {
if (i % j == 0)
continue outer;
}
System.out.print(i + " ");
}
}
}
输出结果如下