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