免费开源的iOS开发学习平台

OC循环结构:3-其他循环方式

在Objective-C语言中,除了最常使用的for循环以及forin循环之外,还存在其他几种循环方式,例如:while循环、do-while循环等。

1.while语句

while语句的一般形式为:

while(表达式) {
    //重复执行的语句
    ...
    }

其中:表达式是循环条件,大括号{}内的语句为循环体。

while语句的语义是:计算表达式的值,当值为真(非0)时, 执行循环体语句。执行完循环体后再次计算表达式的值,如果值为真,再次执行循环体语句,直到表达式的最终求值结果为假时,循环终止。

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // 打印0~4这5个数字
        int i = 0;
        while (i < 5) {
            NSLog(@"%d", i);
            i++;
        }
    }
    return 0;
}

运行结果:

2.do-while语句

do-while语句的一般形式为:

do {
    //重复执行的语句
    ...
} while (表达式)

do-while语句只是while语句的简单转置,它把循环条件放在循环的结尾部分,这样就会先执行循环体中的语句,再判断条件表达式的真假。

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // 打印i的值
        int i = 3;
        do {
            NSLog(@"%d", i);
        } while (i < 2);
    }
    return 0;
}

运行结果:

上例中循环条件是i < 2,但是i的初始值是3,不满足循环条件,但是循环体还是被执行了一次,所以说明do-while语句可以确保循环体至少执行一次。

示例代码

https://github.com/99ios/2.3.3