
1. while循環(huán)

while是循環(huán)流程控制。使用的標準格式為
while(表達式)
{
循環(huán)語句體;
}
說明:
① while循環(huán)的表達式是循環(huán)進行的條件,用作循環(huán)條件的表達式中一般至少包括一個能夠改變表達式的變量,這個變量稱為循環(huán)變量
② 當表達式的值為真(非零)時,執(zhí)行循環(huán)體;為假(0)時,則循環(huán)結(jié)束
③ 當循環(huán)體不需要實現(xiàn)任何功能時,可以用空語句作為循環(huán)體
④ 對于循環(huán)變量的初始化應在while語句之前進行,可以通過適當方式給循環(huán)變量賦初值。
//輸出1~100之間 7的倍數(shù).
NSMutableArray *array1 = [NSMutableArray array];
NSInteger i = 0;
while (i <= 100) {
if (i % 7 == 0) {
[array1 addObject:[NSString stringWithFormat:@"%ld",i]];
}
i++;//循環(huán)變量增量
}
NSLog(@" array1 %@",array1);
2. do-while循環(huán)

do-while是循環(huán)流程控制。使用的標準格式為
do
{
循環(huán)語句體;
}
while(表達式);
do-while循環(huán)與while循環(huán)的不同在于:
do-while先執(zhí)行循環(huán)中的語句,然后再判斷表達式是否為真,如果為真則繼續(xù)循環(huán);如果為假,則終止循環(huán)。因此,do-while循環(huán)至少要執(zhí)行一次循環(huán)語句。
while先判斷表達式是否為真,如果為真則執(zhí)行循環(huán)中的語句;如果為假,則終止循環(huán)。
//對于第一次循環(huán)
//while是先判斷再執(zhí)行; 當條件滿足進行循環(huán), 反之 結(jié)束循環(huán)
NSInteger i = 10;
while(i < 10){
i++;
}
NSLog(@"i %ld",i);//最終i的值為10
//do-while是先執(zhí)行,再判斷; 當條件不滿足, 結(jié)束循環(huán)
NSInteger i = 10;
do{
i++;
}
while(i<10);
NSLog(@"i %ld",i);//最終i的值為11
3. for循環(huán)

for循環(huán)是更加簡潔的循環(huán)語句,大部分情況下,for循環(huán)可以代替while循環(huán)、do-while循環(huán)。for循環(huán)的格式為:
for( 初始語句 ; 執(zhí)行條件 ; 增量 )
{
循環(huán)語句體;
}
說明
初始化語句只在循環(huán)開始前執(zhí)行一次,
每次執(zhí)行循環(huán)體時要先判斷是否符合條件,如果循環(huán)條件還會true,則執(zhí)行循環(huán)體,在執(zhí)行迭代語句。
所以對于for循環(huán),循環(huán)條件總比循環(huán)體多執(zhí)行一次。
NSMutableArray *array = [NSMutableArray array];
for (NSInteger i = 0; i<100; i++) {
if (i % 7 == 0) {
[array addObject:[NSString stringWithFormat:@"%ld",i]];
}
}
NSLog(@" array %@",array);
for循環(huán) 中 break和continue語句的使用
break和continue語句都可以用在循環(huán)中,用來跳出循環(huán)(結(jié)束循環(huán))。
-
break
當break語句用于do-while、for、while循環(huán)語句中時,可使程序終止循環(huán)而執(zhí)行循環(huán)后面的語句。
通常break語句總是與if語句聯(lián)在一起,即滿足條件時便跳出循環(huán)。
break語句還可以用在switch語句中,用來跳出switch語句。
注意:
break語句對if-else的條件語句不起作用;
在多層循環(huán)中,一個break語句只向外跳一層,且跳出跟他最近的那個循環(huán)。
-
continue
continue語句的作用是跳過循環(huán)體中剩余的語句而強行執(zhí)行下一次循環(huán)。
continue語句只用在for、while、do-while等循環(huán)體中,常與if條件語句一起使用,用來加速循環(huán)。
NSMutableArray *array = [NSMutableArray array];
for (NSInteger i = 0; i<100; i++) {
if (i == 7) {
continue;//結(jié)束本次循環(huán),進入下一次循環(huán),,及i++.
}
if (i % 7 == 0) {
[array addObject:[NSString stringWithFormat:@"%ld",i]];
}
if (array.count == 10) {
break;//結(jié)束本層循環(huán),循環(huán)結(jié)束
}
}
NSLog(@" array %@",array);