基本运算符

2017-08-29  本文已影响0人  coder_jie

基本运算符

本页内容包括:

<a name="术语"></a>术语

运算符有一元、二元和三元运算符。

<a name="赋值运算符"></a>赋值运算符

赋值运算(a = b),表示用b的值来初始化或更新a的值:

与 C 语言和 Objective-C 不同,Swift 的赋值操作并不返回任何值。所以以下代码是错误的:

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

<a name="算数运算符"></a>算数运算符

Swift 中所有数值类型都支持了基本的四则算术运算:

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

加法运算符也可用于String的拼接.

求余运算符

求余运算(a % b)是计算b的多少倍刚刚好可以容入a,返回多出来的那部分(余数)。

浮点数求余计算

不同于 C 语言和 Objective-C,Swift 中是可以对浮点数进行求余的。

8 % 2.5 // 等于 0.5

自增和自减运算

和 C 语言一样,Swift 也提供了对变量本身加1或减1的自增(++)和自减(--)的缩略算符。其操作对象可以是整形和浮点型。 ‌

<a name="组合赋值运算符"></a>组合赋值运算符

如同强大的 C 语言,Swift 也提供把其他运算符和赋值运算(=)组合的复合赋值运算符,组合加运算(+=)是其中一个例子:

<a name="比较运算符"></a>比较运算符

所有标准 C 语言中的比较运算都可以在 Swift 中使用,每个比较运算都返回了一个标识表达式是否成立的布尔值.

Swift 也提供恒等===和不恒等!==这两个比较符来判断两个对象是否引用同一个对象实例。

<a name="三目运算符"></a>三目运算符

三目运算符的特殊在于它是有三个操作数的运算符,它的原型是 问题 ? 答案1 : 答案2。它简洁地表达根据问题成立与否作出二选一的操作。如果问题成立,返回答案1的结果; 如果不成立,返回答案2的结果。

<a name="空和运算符"></a>空和运算符

空合运算符(a ?? b)将对可选类型a进行空判断,如果a包含一个值就进行解封,否则就返回一个默认值b.这个运算符有两个条件:

空合并运算符是对以下代码的简短表达方法

a != nil ? a! : b

<a name="区间运算符"></a>区间运算符

闭区间运算符

闭区间运算符(a...b)定义一个包含从ab(包括ab)的所有值的区间,b必须大于a。 ‌ 闭区间运算符在迭代一个区间的所有值时是非常有用的,如在for-in循环中.

for index in 1...5 {
    println("\(index) * 5 = \(index * 5)")
}

半开区间运算符

半开区间(a..<b)定义一个从ab但不包括b的区间。 之所以称为半开区间,是因为该区间包含第一个值而不包括最后的值。

<a name="逻辑运算符"></a>逻辑运算符

逻辑运算的操作对象是逻辑布尔值。Swift 支持基于 C 语言的三个标准逻辑运算。

上一篇 下一篇

猜你喜欢

热点阅读