break:
在任何循环语句的主要部分,均可在break控制循环的流程,break用于强行退出循环,不执行循环中剩余的语句。{break也在switch语句中使用}
例:
package struct;
/**
* @author 吴某人
* @PackageName:struct
* @ClassName:Break_Demo01
* @Description:
* @date 2020/8/14 001416:07
*/
public class Break_Demo01 {
public static void main(String[] args) {
int i = 0;
//正常情况会输出1-100
while (i<100){
i++;
System.out.println(i);
//判断,如果i的值达到30跳出循环
if(i==30){
break;
}
}
System.out.println("并没有终止程序,只是跳出循环!");
}
}
continue:
用在循环语句中,用于终止某次循环过程,既跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定
例:
package struct;
/**
* @author 吴某人
* @PackageName:struct
* @ClassName:continue_Demo01
* @Description: continue
* @date 2020/8/14 001416:14
*/
public class continue_Demo01 {
public static void main(String[] args) {
int i = 0;
while (i<100){
i++;
if(i%10==0){
System.out.println();
//跳出该次循环,继续执行循环
continue;
}
System.out.print(i+"\t");
}
}
}
- break在任何语句的主体部分,均可用break控制循环的流程
- break用于强行退出循环,不执行循环中剩余的语句(break语句也在switch语句中使用)
- continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定
goto 关键字
goto关键字很早就在程序设计语言中出现,尽管goto仍是java的一个保留字,但并未在语言中得到正式使用,java没有goto,但是在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子。带标签的break和continue
- “标签”是指后面跟一个冒号的标识符,例如:label:
- 对java来说唯一用到标签的地方是在循环语句之前,而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方
标签的使用
package struct;
/**
* @author 吴某人
* @PackageName:struct
* @ClassName:LabelDemo
* @Description: 标签
* @date 2020/8/14 001416:29
*/
public class LabelDemo {
public static void main(String[] args) {
//打印101-150之间所有的质数
//质数是指在大于1的自然数中,除了1和它本身没有其他因数的自然数
int cont = 0;
//标签
outer:for(int i =101;i<150;i++){
for(int j=2;j<i/2;j++){
if(i%j==0){
//满足条件跳转到 outer标签处
continue outer;
}
}
System.out.print(i+" ");
}
}
}