Objective-C循环语句和循环控制语句 – Objective-C开发教程

上一章Objective-C开发教程请查看:Objective-C六大类型操作符详解
【Objective-C循环语句和循环控制语句 – Objective-C开发教程】也是和C语言一样,OC有三种循环语句,分别是:while循环、for循环和do-while循环,循环控制语句有两个:break语句和continue语句。如果你很熟悉C语言了,那么即可放心跳过,下面我们逐一讨论这些语句。
while循环语句while循环语句的语法为:

while(condition) { statement(s); }

如果条件condition为true,那么循环体内的语句statement(s); 就会被执行,如果条件一直为真,则会无限循环,下面是一个例子:
#import < Foundation/Foundation.h> int main () {/* 本地变量定义 */ int a = 10; /* while循环 */ while( a < 20 ) { NSLog(@"a: %d", a); a++; } return 0; }

for循环for循环的语法为:
for( init; condition; increment ) { statement(s); }

其中:
  • init:为初始化语句,只会被执行一次,而且是首先执行,可有多个初始化,或留空。
  • condition:逻辑表达式语句,运算结果为true或false,如果为true,则执行循环体内的语句statement(s);
  • increment:为增长步长,可以使用一步增长,或其它数量的增长,也可以是递减。
下面的for循环的例子:
#import < Foundation/Foundation.h> int main () {/* for循环 */ int a; for( a = 10; a < 20; a = a + 1 ) { NSLog(@"a: %d\n", a); } return 0; }

其中for循环的无限循环的形式为:
for(; ; ) {}

do-while循环do-while循环和while循环类似,不过有一点不同,使用语法如下:
do { statement(s); } while( condition );

do-while循环首先执行循环体内的语句statement(s); ,然后才开始判断条件,如果条件condition为true,则继续执行循环体语句,否则循环结束。
下面是do-while循环的例子:
#import < Foundation/Foundation.h> int main () {/* 本地变量 */ int a = 10; /* do-while循环 */ do { NSLog(@"a: %d", a); a = a + 1; } while( a < 20 ); return 0; }

另外还有相应的嵌套循环,嵌套循环就是在一个循环里面加入其它循环,理论上你可以加无限层的嵌套循环,但是作为算法效率上的考虑,如没必要,基本不会超过三层循环。
break语句break语句是跳出当前循环,跳出的是一层循环,如下面的例子中,如果满足条件,则执行break语句,这样会跳出while循环而结束程序执行。
#import < Foundation/Foundation.h> int main () {/* 本地变量 */ int a = 10; /* while循环 */ while( a < 20 ) { NSLog(@"a: %d\n", a); a++; if( a > 15) { /* 使用break语句结束当前的while循环 */ break; } } return 0; }

记住是跳出一层循环,如果有多层嵌套循环,则不会跳出所有循环体,只会跳出当前循环。
continue语句continue语句也是结束循环,但是和break语句不同的是,continue只结束当前执行的一次循环,并不会结束整个循环。continue语句是结束当前执行,执行下一次循环。
下面是和使用continue语句的例子:
Live Demo #import < Foundation/Foundation.h> int main () {int a = 10; /* do-while循环 */ do { if( a == 15) { /* 跳过本次循环,执行下一次循环 */ a = a + 1; continue; } NSLog(@"a: %d\n", a); a++; } while( a < 20 ); return 0; }

    推荐阅读