上一章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;
}
评论前必须登录!
注册