1.10 跳转结构

Java中可以用break或continue语句来改变程序的执行,实现跳转。

1.10.1 break

在switch结构中,break语句用来退出switch语句,使程序继续执行switch的后续语句。而在循环中,可以使用break语句退出循环,并从紧跟循环结构的第一条语句开始执行。在Java中写程序时要避免死循环,而有时可以看到while(true)这样的循环,实际上只要在循环体中,在满足某个条件时使用break语句跳出循环即可。

1.10.2 continue

break语句用来退出循环,并从紧跟该循环结构的第一条语句处开始执行。而continue语句则跳过循环体中下面没有执行的语句,回到循环体的开始处,开始下一轮循环。因此,continue的作用是让本次循环中位于continue之后的语句不执行,重新开始下一轮循环。

如果用户需要打印2~20之间的奇数,除了以往的用for循环步长来控制外,还可以使用continue语句。代码如下:

1.10.3 编程实例

【程序1-12】打印3~100之间的素数,每行打印6个数。

【分析】通过程序代码来实现素数的判断,实现的思路不只一种,本题采用的思路是:先假定一个数是素数,接下来通过循环从2往上验证此数能否被某个数整除,一旦能整除,则将先前置为true的布尔变量修改为false,然后退出内层循环。最后根据布尔变量的值,来判断某个数是否为素数。

程序运行的结果如图1-36所示。

图1-36 打印素数

【程序1-13】编写程序,提供一个queryCoding(String sArg)方法,能对用户传递的字符串参数中的汉字打印出Unicode编码。若参数中含有非汉字的其他符号,则自动跳过。

【分析】String类的charAt方法可以取出单个字符。汉字的Unicode编码范围为19968~40869,总共20902个汉字。本例演示continue的使用,使用它可以在满足特定条件时忽略循环体中的某些语句。

演示continue的使用如图1-37所示。

图1-37 演示continue的使用