上一章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:为增长步长,可以使用一步增长,或其它数量的增长,也可以是递减。
#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;
}
推荐阅读
- Objective-C条件语句详解 – Objective-C开发教程
- Objective-C六大类型操作符详解 – Objective-C开发教程
- 单字母密码和多字母密码有什么区别()
- C ++中的static_cast |类型转换运算符
- HTML如何使用标题(h标签用法代码示例)
- 如何打印三角形分隔的图案()
- 如何使用jQuery选择文本节点()
- 云计算介绍和教程指南
- Python程序从列表中查找N个最大元素