swift 4.x 控制流 使用 if 和 switch 来进行条件操作,使用 for-in 、 for 、 while 和 repeat-while 来进行循环。

     /*
     if、for-in语句的结合使用
     */
    let array = [85,52,52,5266,52363,63330,8602,8222]
    
    var numbers1  = [Any]()
    var numbers2 = [Any]()
    
    var number = 0
    for num in array {
        
        if num > 100{
            
            numbers1.append(num)
            
            number += 3
            
        }else{
            
            numbers2.append(num)
            
            number -= 1
            
        }
        
    }

    print("numbers1:\(numbers1),numbers2:\(numbers2),number:\(number)")


  /*
     if语句的使用
     */
    let optionalString: String? = "Hello"
    /*
     在 if 语句中,条件必须是一个布尔表达式
     */
    print(optionalString != nil)
    print(optionalString == nil)

   /*
     可以一起使用 if 和 let 来处理值缺失的情况
     如果变量的可选值是 ,条件会判断为 ,大括号中的代码会被跳过。如果不是 ,会将值解包并赋给 后面的常量,这样代码块中就可以使用这个值了
     */
    let optionalName: String? = nil
    var greeting = "Hello!"
    if let name = optionalName {

        //当optionalName的值不为nil的话,会执行这个代码块
        greeting = "Hello, \(name)"

    }
    else{

        greeting = "Hello"

    }

    print(greeting)
    
    /*
     另一种处理可选值的方法是通过使用 ?? 操作符来提供一个默认值
     */
    let nickName : String? = nil
    let fullName :String = "John Appleseed"

    //当nickName的值为nil的时候,会取fullName的值
    let string = "Hi \(nickName ?? fullName)"

    print(string)


     /*
     switch语句 支持任意类型的数据以及各种比较操作  跟3.0不一样,4.0必须加上break
     */
    
    let title = "我在学习swift"
    
    switch title {
    case "123":
        
        let string = "swift是一门很棒的编程语言"
        
        print("\(title),\(string)")
        
        break
        
    case let x where x.hasSuffix("f")://let将匹配等式的值赋给常量 x     后缀
        
        print("\(x)")
        
        break
        
    case let x where x.hasPrefix("我")://let将匹配等式的值赋给常量 x     前缀
        
        print("\(x)")
        
        break
        
    default:
        
        

        break
        
        
        
        
    }
    
}

     /*
     for-in 来遍历
     */
    let interestingNumbers = [
        "Prime": [2, 3, 5, 7, 11, 13],
        "Fibonacci": [1, 1, 2, 3, 5, 8],
        "Square": [1, 4, 9, 16, 25],
        ]
    var largest = [Any]()
    
    
    
    //需要两个变量来表示每个键值对。字典是一个无序的集合,所以他们的键和值以 任意顺序迭代结束。
    for (kind , numbers) in interestingNumbers {
        
        for number in numbers{
            
            largest.append(number)
            
        }
        
        print(kind)
        
    }
    

    print("largest:\(largest)")


       /*
     while 来重复运行一段代码直到不满足条件
     */
    var n = 2
    while n < 100 {
        
        
        n = n * 2
        
        print(n)
        

    }
    
}

      /*
     repeat-while语句
     循环条件也可以在结尾,保证能至少循环一次
     */
    var m = 2
    repeat {
        
        m=m * 2
        
    } while m < 100
    
    print(m)

   /*
     使用 ..< 创建的范围不包含上界,如果想包含的话需要使用 ...
     */
    var total = 0
    for i in 0..<4 {
        
        total += i
        
        print(total)
        
    }

你可能感兴趣的:(swift 4.x 控制流 使用 if 和 switch 来进行条件操作,使用 for-in 、 for 、 while 和 repeat-while 来进行循环。)