for 语句可以同时有多个 init 表达式,前提是它们是相同的类型,在定义时,通过“,”号分割,这些分割的语句会独立运行,互不干扰。多变量 for 语句的使用方式如案例 3-8 所示。
u案例 3-8 多变量 for 语句 运行结果如图 3-8 所示。
图 3-8 运行结果
在案例 3-8 中定义了 i 和 j 两个变量,i 的初始值是 0,j 的初始值是 1,循环条件是 i<5,步进是 i 每次自增 1, j 是每次乘以 2。通过输出结果可以看出,两者独立运行,互不影响。对于一些特殊的场景,for 循环的这种可以定义多个变量的方式是独有的,而且,无论是在初始化还是在步进部分,这些语句都是顺序执行的。
3.2.4 break 与 continue
在一些循环中可能有一些特殊情况需要结束循环或者进行下一次循环,这时候就需要使用 break 和 contiune了。前面在 switch 多路分支结构中我们已经用到了 break,break 是打断的意思,例如在循环中,当循环到一个特定的境况下,需要终止循环,这时就使用 break。当某个自增量的值是 5 的倍数的时候,不执行循环体的内容,而是继续下一次循环,跳过本次循环,这时则使用 continue,如案例 3-9 所示。
u案例 3-9 break 和 continue 运行结果如图 3-9 所示。
图 3-9 运行结果
从案例中可以看出,break 是直接跳出循环体,执行后续的代码逻辑,而 continue 则只是跳出本次循环,执行下一次循环。读者需要仔细地辨别两者的区别,对其进行恰当使用,不当的使用则会让程序产生各种莫名奇妙的异常。