|
|
if通常是不需要“跳出”的。
- D2 U7 c: b! @' s
: w) P3 A! x% X/ b) @假设我们有一个能跳出if的语句叫breakif
4 V$ j: d4 n5 }" v& O那么如果你的程序像下面这种形式3 j7 N+ {& }0 b, h0 [
if a/ @" z1 P0 W8 Q9 I
statement 1;
% R& @8 h6 z9 C' q breakif;
( \; O5 H/ y3 i; @0 l4 h statement 2; 8 E6 Y* Y) \) h" ^+ D7 l+ s! Z2 m
else b
" h: U- }2 `$ ^, M% v, {end" U' m; a* ?7 _3 G
那么statement2在这里就是没有意义的,因为永远执行不到。- p, m; w" Z/ A, H
+ Y& q* g3 @/ `而你如果删掉statement2,写成% x( q4 B- L5 W% Z D
if a6 a0 J7 @4 y2 D8 Z5 M; t7 l
statement 1;9 O y" u, U; C# s6 x _+ O
breakif; 0 b8 d6 T) ~; x9 p
else b
9 K# f- b( n1 G* w9 s3 T0 Kend- [* U# R% {3 y9 S; J) j
那么breakif就是多余的,因为执行完statement1时,本来就已经退出了if。
7 c0 q# o* s6 F' F3 U" Y4 t
6 n4 D& ~/ \5 F, A4 y# E; U( Z* d所以,如果你发现自己需要使用这个breakif语句,那么首先应该考虑一下自己的程序的结构是不是可以改进一下。
3 H F4 B# s, ? D; y& I5 ]6 u% m: s( x7 r
另外,break的作用是结束(或称为“跳出”)“当前层循环”,使得下一条被执行的语句是该循环之后的第一条语句。8楼上提到的“大循环”这个词估计指的是相同的意思,但是在多层循环的情况,这个词可能会让人误解为“最外层循环”(最大的循环)。 |
|