Swift基礎(chǔ)語(yǔ)法-for循環(huán)--對(duì)比OC


1. for循環(huán)

  • OC中的 for循環(huán)
    • 如果只有一條指令for后面的大括號(hào)可以省略
    • for后面的三個(gè)參數(shù)都可以省略, 如果省略循環(huán)保持語(yǔ)句, 那么默認(rèn)為真
  • Swift 中的 for循環(huán)
    • for后的圓括號(hào)可以省略
    • 只能以bool作為條件語(yǔ)句
    • 如果只有條指令for后面的大括號(hào)不可以省略
    • for后面的三個(gè)參數(shù)都可以省略, 如果省略循環(huán)保持語(yǔ)句, 那么默認(rèn)為真
//OC:
int sum = 0;
for (int i = 0; i <= 10; i++) {
    sum = i++;
}
//NSLog(@"%d", sum);
//輸出結(jié)果:10

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

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

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

int sum = 0;
int i = 0;
for ( ; ; ) {
    sum = i++;
    i++;
    NSLog(@"%d", sum);
}
//輸出結(jié)果:死循環(huán)
//如果只有一條指令for后面的大括號(hào)可以省略
//for后面的三個(gè)參數(shù)都可以省略, 如果省略循環(huán)保持語(yǔ)句, 那么默認(rèn)為真
//Swift:
var sum:Int = 0
for var i = 0 ; i <= 10 ; i++ { // 推薦寫(xiě) i += 1 的格式
    sum = i++
}
print(sum)
//輸出結(jié)果:10

var sum1:Int = 0
var i1 = 0
for  ; i1 <= 10 ; i1++ {
    sum1 = i1++
}
print(sum1)
//輸出結(jié)果:10

var sum2:Int = 0
var i2 = 0
for ; i2 <= 10; {
    sum2 = i2++
    i2++
}
print(sum2)
//輸出結(jié)果:10

var sum3:Int = 0
var i3 = 0
for ; ; {
    sum3 = i3++
    i3++
    if i3 > 10{
        break
    }
}
print(sum3)
//輸出結(jié)果:10

2. for in循環(huán)

  • OC中的 for in循環(huán)
    • 格式: for (接收參數(shù) in 取出的參數(shù)) {需要執(zhí)行的語(yǔ)句}
    • for in含義: 從(in)取出什么給什么, 直到取完為止
  • Swift中的 for in循環(huán)
    • 和 OC 中的語(yǔ)法基本一致, 只是條件語(yǔ)句不用寫(xiě)小括號(hào)()
    • for in 一般用于遍歷區(qū)間或者集合
//OC:
for (NSNumber *i  in @[@1, @2, @3, @4, @5]) {
    NSLog(@"%@", i);
}
//輸出結(jié)果:
//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);
}
//輸出結(jié)果:
//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);
}
//輸出結(jié)果:
//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  {     //會(huì)將區(qū)間的值依次賦值給i4
    sum4 += i4;
}
print(sum4)
//輸出結(jié)果:55

for dict in ["name":"CDH", "age":20]{
    print(dict);
}
//輸出結(jié)果:
//("age", 20)
//("name", CDH)

for (key, value) in ["name":"CDH", "age":20]{
    print("\(key) = \(value)")
}
//輸出結(jié)果:
//age = 20
//name = CDH
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容