执行任务所需的循环语句需要重复特定的次数。
循环(For,ForEach,While,do…while)
执行任务所需的循环语句需要重复特定的次数。
假设,如果您要打印从1到10的数字,可以不执行循环操作,如下所示。
NSLog(@“ 1”);
NSLog(@“ 2”);
NSLog(@“ 3”);
NSLog(@“ 4”);
NSLog(@“ 5”);
NSLog(@“ 6”);
NSLog(@“ 7”);
NSLog(@“ 8”);
NSLog(@“ 9”);
NSLog(@“ 10”);
在这里,您要编写10次NSLog语句以打印从1到10的数字。这里可能出现循环,因此您可以执行重复的任务而无需多次编写相同的代码。
为循环
For循环的语法
for(初始化器;条件表达式;循环表达式)
{
//要执行的语句
}
使用For循环打印1到10之间的数字
对于(int i = 1; i <= 10; i ++)
{
NSLog(@”%d”,i);
}
输出 :
第一次i = 1,因此它将打印1并将i值增加+1
第二次i = 2,因此它将打印2并将i值增加+1。
当i值达到10时,它将打印10并将i的值增加1,因此i为11,11 <= 10将不被满足,循环将中断。
让我们看看如何使用FOR LOOP打印数组的所有元素
NSMutableArray * arrCities = [NSMutableArray arrayWithObjects:@“孟买”,@“德里”,@“艾哈迈达巴德”,无];
为(int i = 0; i <arrCities.count; i ++)
{
NSLog(@“%@”,[arrCities objectAtIndex:i]);
}
输出 :
当第一次执行循环时,i = 0,则它将打印孟买
然后我= 1,它将打印德里
在上一个i = 2中,它将打印艾哈迈达巴德
FOREACH LOOP :它们可以用于一对一地获取NSArray,NSDictionary(对键进行迭代),NSSet等的所有元素。
让我们使用foreach循环重写上述for循环,并从数组中获取所有元素。
用于(arrCities中的NSString * strCityName)
{
NSLog(@“%@”,strCityName);
}
枚举 :它们可以用来一一读取NSArray,NSDictionary,NSSet等的所有元素。 检查以下示例。
NSMutableArray * arrCities = [NSMutableArray arrayWithObjects:@“孟买”,@“德里”,@“艾哈迈达巴德”,无];
[arrCities enumerateObjectsUsingBlock:^(id _Nonnull obj,NSUInteger idx,BOOL * _Nonnull stop){
NSLog(@“%lu的城市为%@”,(unsigned long)idx,obj);
}];
这里
obj =数组中的对象
idx =数组索引
stop =用于停止或中断枚举或循环(如果* stop = YES,则循环将终止)
输出:
孟买
新德里
艾哈迈达巴德
WHILE LOOP:只要给定条件为true,while循环语句就会重复执行一条语句。 while循环的语法如下。
while(条件)
{
声明;
}
int i = 1;
而(我<10)
{
NSLog(@“%d”,i);
i ++;
}
输出 :它将打印从1到9的数字
DO WHILE LOOP: do … while循环与while循环类似,不同之处在于,do … while循环可确保至少执行一次语句。
整数a = 10;
做
{
NSLog(@“%d”,a);
a = a + 1;
} while(a <20);
输出 :它将打印从10到19的数字
BREAK:当我们的需要满足时,如果满足特定条件,则循环中的Break语句对于终止循环语句的执行很有用。
例如:在给定的城市阵列中,当我们要查找德里时,一旦找到,则停止执行循环。 程序为此
NSMutableArray * arrCities = [NSMutableArray arrayWithObjects:@“孟买”,@“德里”,@“艾哈迈达巴德”,无];
为(int i = 0; i <arrCities.count; i ++)
{
NSLog(@“%@”,[arrCities objectAtIndex:i]);
NSString * strCity = [arrCities objectAtIndex:i];
如果([strCity isEqualToString:@” Delhi”])
{
打破;
}
}
输出孟买
继续 :用Objective-C编程语言编写的continue语句的工作原理与break语句类似。 但是,continue不会强制终止,而是会强制执行循环的下一次迭代,从而跳过两者之间的任何代码。 Continue语句的语法如下。
NSMutableArray * arrCities = [NSMutableArray arrayWithObjects:@“孟买”,@“德里”,@“艾哈迈达巴德”,无];
为(int i = 0; i <arrCities.count; i ++)
{
NSString * strCity = [arrCities objectAtIndex:i];
如果([strCity isEqualToString:@” Delhi”])
{
继续;
}
NSLog(@“%@”,[arrCities objectAtIndex:i]);
}
在这里,德里不会在控制台中打印。
所以输出如下
孟买
艾哈迈达巴德
希望您了解Loops及其用法。
谢谢您阅读🙂
请查看我的YouTube频道以获取视频教程并订阅,并与您的朋友分享。
youtube频道链接: https : //www.youtube.com/channel/UCWjT8XgKescscxlPbMSVzbQ