个性化阅读
专注于IT技术分析

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;
}
赞(0)
未经允许不得转载:srcmini » Objective-C循环语句和循环控制语句 – Objective-C开发教程

评论 抢沙发

评论前必须登录!