break continue
-
break 在任何循环语句的主体部分,均可用 break 控制循环的流程。break 用于强行退出循环,不执行循环中剩余的语句。(break 语句也在 switch 语句中使用)。
我们可以在下图中发现,break 只是强行退出了循环,但是没有终止这个程序,在 break后,输出一下 ”123“,比如;
System.out.println("123");
这个输出,没有受到 break 影响。输出了 123 .
-
continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
如下图,我们可见,条件是 i 可以被 10 整除的话,就终止没有满足条件的循环,进行下一次是否执行循环的判定。
为了更加方便我们看到效果,我们输出 从
System.out.println(i);
改为
System.out.print(i);
修改之后我们可以看到下图;
我们可以发现还是有些不清楚,我们再添加 转义字符;
System.out.print(i+"\t")
我们通过上图,就可以看得很清楚,100以内能够被10整除的整数,都通过 continue 语句跳过。
关于 goto 关键字(不需要理解,也不需要掌握)
- goto 关键字很早就在程序设计语言中出现。尽管 goto 仍是 Java 的一个保留字,但并未在语言中得到正式使用;Java 没有 goto ,然而,在 break 和 continue 这两个关键字的身上,我们仍然能看出一些 goto 的影子------带标签的 break 和 continue 。
- "标签"是指后面跟一个冒号的标识符,例如:label:
- 对 Java 来说唯一用到标签的地方是在循环语句之前,而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于 break 和 continue 关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。
如下图:
//打印101~150之间所有的质数(素数)
//素数,只能被1和自身整除。除此之外的就是 合数
我们看到下图,我们可以看到我们在里面,怎么可以跳到外部再进行循环呢?这个时候我们可以看到上图中的两个红色箭头,定义一个 outer: 的标签,再通过 continue outer; 返回到这个标签的位置!!!
我们可以看到,方框中内部循环的条件的作用;
for(int j=2;j<=i/2;j++)
// j<=i/2 的意思是 除到这个数的一半以上就不可能再被整除了