二、基本运算符

作者: 爱玩游戏的iOS菜鸟 | 来源:发表于2019-12-31 11:17 被阅读0次

    运算符

    运算符定义

    运算符是用来检查、改变或合并值的特殊符号或组合符号。运算符包括一元、二元、三元(即操作n个目标)运算符

    1. 一元运算符(一元前缀运算符,一元后缀运算符)
      例如:-a !a a!
    2. 二元运算符(中缀运算符)
      例如:2+3
    3. 三元运算符(三元运营商在三个目标上运算,与C一样,Swift只有一个三元运算符)
      例如:(a ? b : c)条件运算符
    赋值运算符
    • = 并非等于 赋值符号不会有返回值 (很好的避免的用于==符号的实际意图)
    算术运算符
    1. 常规+ - * / %运算符
    var a = 10
    var b = 15
    
    var value1 = a + b
    var value2 = a - b
    var value3 = a * b
    var value4 = a / b
    var value5 = a % b
    

    【注意】%并不是 a % b (a = b * 某个乘数 + 余数) 余数与b的正负无关

    let a = -9,b = 4, c = -4
    
    var f = a % b //结果均为-1  -9 = 4 * 2 - 1
    var g = a % c //结果均为-1  -9 = (-4) * (-2) - 1
    
    1. 合并空值运算符 a??b
    • ??运算符:将对可选类型a进行空判断,如果a包含一个值则展开,否则就返回一个默认值b)
    • :该运算符是对 a != nil ? a! : b 代码的简写,使用??运算符满足两个条件:
      1. 表达式a必须是optional类型(可选类型)
      2. 默认值b的类型必须和a存储值的类型一致
    范围运算符
    1. 闭区间运算符 a...b 用数学方法表示即为:[a,b](包含a,b)
    for index in 1...10 {
        print("\(index) times 10 is \(index * 10)")
    }
    
    1. 半开区间运算符 a..<b [a,b)(包含a,不包含b) !!! 没有a<..b
    var array = ["123","345","456"]
    for index in 0..<array.count {
        print(array[index])
    }//输出结果:123\n345\n456\n
    
    1. 单侧区间运算符
    • 闭区间运算符的另一种替代形式,用于在一个方向上尽可能继续的范围 同样,半开区间运算符也具有单侧形式
    • 例如:包括从索引2到数组末尾的数组的所有元素的范围。 在这些情况下,您可以省略范围运算符一侧的值
    var array = ["123","345","456","567","678"]
    
    for string in array[...3] {
        print(string)
    }//输出结果:123\n345\n456\n567\n
    
    for string in array[..<3] {
        print(string)
    }//输出结果:123\n345\n456\n
    
    1. 区间类型(第3点的补充)
    let range1 :ClosedRange<Int> = 1...10
    
    let range2 :Range<Int> = 1 ..< 10
    
    let range3 :PartialRangeThrough<Int> = ...10
    
    let range4 :PartialRangeFrom<Int> = 10...
    
    let range5 :PartialRangeUpTo<Int> = ..<10
    
    逻辑运算符
    • &&
    • ||
    • !
    • && 与 || 为左关联,! 为前缀运算符 在复合表达式中,不要弄错 在写较复杂的逻辑表达式时,用()括起来
    print("\(true && false)\t\(true || false)\t\(!false)")//输出:false    true    true
    

    Swift学习日记2.0

    相关文章

      网友评论

        本文标题:二、基本运算符

        本文链接:https://www.haomeiwen.com/subject/sucboctx.html