Objective-C學習筆記(十)——迴圈語句for和do-while的使用
阿新 • • 發佈:2019-02-04
在OC中,除了while這種迴圈方式外,還有另外for迴圈和do-while迴圈,它們在不同的業務邏輯下會有不同的作用。可以和C語言和Java對比著學習。
(一)程式碼一:
int main(int argc, const char * argv[]) {
@autoreleasepool {
for (int i = 0; i < 5; i++) {
NSLog(@"你好,i = %d",i);
}
}
return 0;
}
輸出結果:
。
結果分析:for迴圈的迴圈變數放到了for()內部,for迴圈的單個變數分別是變數定義,變數範圍,變數改變值。一般for迴圈用在迴圈次數已經清楚的條件下。輸出結果符合我們的預期。
(二)程式碼二:
int main(int argc, const char * argv[]) {
@autoreleasepool {
int i = 0;
do{
i++;
NSLog(@"你好,i=%d",i);
}while (i<5);
}
return 0;
}
輸出結果:
。
結果分析:do-while和其他迴圈的區別在於do-while是先進行一次迴圈內部的程式碼,然後再進行迴圈條件的判斷。迴圈條件滿足,然後再進行迴圈。 while迴圈和for迴圈都是先判斷迴圈條件是否滿足,若不滿足就不執行迴圈程式碼了。do-while的迴圈若不滿足,至少會執行一次迴圈體。這就是最大的區別。請看下一個程式碼:
(三)程式碼三:
int main(int argc, const char * argv[]) {
@autoreleasepool {
int i = 0;
do{
i++;
NSLog(@"你好,i=%d",i);
}while (false);
}
return 0;
}
輸出結果:
。
結果分析:迴圈條件為false,但是也執行了一次迴圈體。可以根據業務需求進行選擇迴圈型別。