Swift基础语法-for循环--对比OC


1. for循环

  • OC中的 for循环
    • 如果只有一条指令for后面的大括号可以省略
    • for后面的三个参数都可以省略, 如果省略循环保持语句, 那么默认为真
  • Swift 中的 for循环
    • for后的圆括号可以省略
    • 只能以bool作为条件语句
    • 如果只有条指令for后面的大括号不可以省略
    • for后面的三个参数都可以省略, 如果省略循环保持语句, 那么默认为真
//OC:
int sum = 0;
for (int i = 0; i <= 10; i++) {
    sum = i++;
}
//NSLog(@"%d", sum);
//输出结果:10

int sum = 0;
int i = 0;
for (; i <= 10; i++) {
    sum = i++;
}
NSLog(@"%d", sum);
//输出结果:10

int sum = 0;
int i = 0;
for (; i <= 10; ) {
    sum = i++;
    i++;
}
NSLog(@"%d", sum);
//输出结果:10

int sum = 0;
int i = 0;
for ( ; ; ) {
    sum = i++;
    i++;
    if (i > 10) {
        break;
    }
}
NSLog(@"%d", sum);
//输出结果:10

int sum = 0;
int i = 0;
for ( ; ; ) {
    sum = i++;
    i++;
    NSLog(@"%d", sum);
}
//输出结果:死循环
//如果只有一条指令for后面的大括号可以省略
//for后面的三个参数都可以省略, 如果省略循环保持语句, 那么默认为真
//Swift:
var sum:Int = 0
for var i = 0 ; i <= 10 ; i++ { // 推荐写 i += 1 的格式
    sum = i++
}
print(sum)
//输出结果:10

var sum1:Int = 0
var i1 = 0
for  ; i1 <= 10 ; i1++ {
    sum1 = i1++
}
print(sum1)
//输出结果:10

var sum2:Int = 0
var i2 = 0
for ; i2 <= 10; {
    sum2 = i2++
    i2++
}
print(sum2)
//输出结果:10

var sum3:Int = 0
var i3 = 0
for ; ; {
    sum3 = i3++
    i3++
    if i3 > 10{
        break
    }
}
print(sum3)
//输出结果:10

2. for in循环

  • OC中的 for in循环
    • 格式: for (接收参数 in 取出的参数) {需要执行的语句}
    • for in含义: 从(in)取出什么给什么, 直到取完为止
  • Swift中的 for in循环
    • 和 OC 中的语法基本一致, 只是条件语句不用写小括号()
    • for in 一般用于遍历区间或者集合
//OC:
for (NSNumber *i  in @[@1, @2, @3, @4, @5]) {
    NSLog(@"%@", i);
}
//输出结果:
//2016-01-06 17:17:38.669 OCTest[4599:1510680] 1
//2016-01-06 17:17:38.670 OCTest[4599:1510680] 2
//2016-01-06 17:17:38.670 OCTest[4599:1510680] 3
//2016-01-06 17:17:38.670 OCTest[4599:1510680] 4
//2016-01-06 17:17:38.670 OCTest[4599:1510680] 5

NSDictionary *dict = @{@"name":@"CDH", @"age":@100};
for (NSArray *keys  in dict.allKeys) {
    NSLog(@"%@", keys);
}
//输出结果:
//2016-01-06 17:18:17.419 OCTest[4609:1515258] name
//2016-01-06 17:18:17.420 OCTest[4609:1515258] age

NSDictionary *dict = @{@"name":@"CDH", @"age":@30};
for (NSArray *keys  in dict.allValues) {
    NSLog(@"%@", keys);
}
//输出结果:
//2016-01-06 17:18:47.592 OCTest[4619:1519194] CDH
//2016-01-06 17:18:47.593 OCTest[4619:1519194] 30
//Swift:
var sum4:Int = 0
for i4 in 1...10  {     //会将区间的值依次赋值给i4
    sum4 += i4;
}
print(sum4)
//输出结果:55

for dict in ["name":"CDH", "age":20]{
    print(dict);
}
//输出结果:
//("age", 20)
//("name", CDH)

for (key, value) in ["name":"CDH", "age":20]{
    print("\(key) = \(value)")
}
//输出结果:
//age = 20
//name = CDH
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容