基本运算符

作者: 黄祯鑫 | 来源:发表于2020-08-25 11:55 被阅读0次

    术语

    按操作对象数分为一元、二元和三元运算符:

    • 一元:前置运算符!a 、后置运算符b!
    • 二元:1 + 2
    • 三元:Swift 只有一个三元运算符,三目运算符(a ? b : c)

    赋值运算符

    • 初始化 let a = 1; let (x, y) = (1, 2)
    • 更新值 var b = 2; b = 3

    与 C 语言和 Objective-C 不同,Swift 的赋值操作并不返回任何值。所以下面语句是无效的:

    if x = y {
        // 此句错误,因为 x = y 并不返回任何值
    }
    

    算数运算符

    • 四则运算:加法(+)、减法(-)、乘法(*)、除法(/)

    与 C 语言和 Objective-C 不同的是,Swift 默认情况下不允许在数值运算中出现溢出情况。但是你可以使用 Swift 的溢出运算符来实现溢出运算(如 a &+ b)。

    • 求余运算: (a % b), 公式 a = (b × 倍数) + 余数,在对负数 b 求余时,b 的符号会被忽略。这意味着 a % b 和 a % -b 的结果是相同的。
    9 % 4   // 等于 1
    -9 % 4   // 等于 -1
    9 % -4  //等于 1
    
    • 一元负号运算符、一元正号运算符: 负数 -1,正数 +1(+号可以省略)

    组合赋值运算符

    把其他运算符和赋值运算(=)组合,如(+=)

    比较运算符

    • 等于(a == b)
    • 不等于(a != b)
    • 大于(a > b)
    • 小于(a < b)
    • 大于等于(a >= b)
    • 小于等于(a <= b)
      比较运算返回的结果为布尔值

    三元运算符

    使用方法与 C 和 OC 中条件表达式相同(a ? b : c)

    空合运算符

    a ?? b 等同于 a != nil ? a! : b,其中 a 必须为可选类型,b 的类型为 a 的值类型

    区间运算符

    Swift 提供了几种方便表达一个区间的值的区间运算符。

    • a...b: 数学上的闭区间[a,b],包含 a,b
    • a..<b:数学上的半开区间区间[a,b),只包含 a
    • a...:单侧区间 [a,+\infty] 还有例如...a 表示[-\infty, a] 、..<a表示[-\infty, a)

    逻辑运算符

    • 逻辑非(!a)
    • 逻辑与(a && b)
    • 逻辑或(a || b)

    相关文章

      网友评论

        本文标题:基本运算符

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