请解释break并继续Objective-C

时间:2014-04-22 08:56:25

标签: objective-c

首先请原谅我的新手问题。我正在学习Objective C,对编程本身也很陌生。

你能解释一下导致休息或继续循环的原因吗?

例如,两个代码有什么区别?

 for (int i=0; i<100; i++) {
      if ([self okToProceed]) {
         [self doSomething];
      } else {
         break;
      }
  }

  for (int i=0; i<100; i++) {
      if ([self okToProceed]) {
         [self doSomething];
      } else {
         continue;
      }
  }

第一个代码是第一次停止循环,okToProceed第一次返回false而第二个循环只是继续运行,但是当okToProceed为false时什么都不做?

2 个答案:

答案 0 :(得分:21)

break语句退出循环。
您可以将其视为创建循环退出条件的一种方法。

例如,在您的代码中:for(int i=0; i<100; i++)i<100是一个循环条件 如果不满足这个条件,循环将退出。

同样,如果您有类似if(i == 34) { break; }的内容,请在里面 即使指定的循环退出条件为i,当i<100的值达到34时,这将退出循环。


continue语句用于跳到下一个循环周期 该语句用于基本上避免在循环中运行其余代码。

示例:

for(i=0; i<5; i++) {
   if(i == 3) {
      continue;
   }
   print(i);
}

此循环将打印0 1 2 4i为3时,continue将跳转到下一个循环迭代,continue之后的语句(print(i);将不会执行)。
当然,在循环运行之前检查循环条件。

答案 1 :(得分:7)

break将完全退出循环,continue将跳过当前迭代并继续下一个循环。

例如在你的循环中,假设i等于50并且你放break循环将退出循环但是如果你使用continue它将跳过这个迭代它将开始下一个 - i将等于51。