|
if通常是不需要“跳出”的。
: Z1 X# B7 K j; T/ a) N8 n+ h( K- a! e& i j, Q+ m
假设我们有一个能跳出if的语句叫breakif* N* i; U: f, q, p: a' q) n
那么如果你的程序像下面这种形式$ p/ S% F2 h, m5 ~
if a
2 T( L9 m# ^% h8 L1 {6 l: g statement 1;# B* e" X8 i+ M( N6 t
breakif;1 V+ k3 C& @8 x( Y
statement 2;
5 [7 {+ ?! o3 ~ z6 g- qelse b$ C2 Y; p$ g/ ^6 O0 J9 m
end$ x* j# p- }! n3 d: m7 g
那么statement2在这里就是没有意义的,因为永远执行不到。2 }& M7 D; T# v$ t' Z
6 ?+ B6 t9 N) u+ H而你如果删掉statement2,写成7 \; y4 e& v4 Q4 ` \
if a
3 b+ x1 l$ ~) O. s: R statement 1;
+ z* U. {1 P, U% z6 A& H breakif; ; H) m/ F1 f4 W1 P1 n
else b
9 ~& Z0 q; }- s( B8 P6 bend
% O; `( o- A4 c5 K' |3 n( q那么breakif就是多余的,因为执行完statement1时,本来就已经退出了if。
; }6 B" j$ |5 z J) W% m b
1 C( g1 F/ q$ |. W所以,如果你发现自己需要使用这个breakif语句,那么首先应该考虑一下自己的程序的结构是不是可以改进一下。! w/ f1 f' `* A
1 G. F1 l" N) @' {! x
另外,break的作用是结束(或称为“跳出”)“当前层循环”,使得下一条被执行的语句是该循环之后的第一条语句。8楼上提到的“大循环”这个词估计指的是相同的意思,但是在多层循环的情况,这个词可能会让人误解为“最外层循环”(最大的循环)。 |
|