Swift learning part 2 - 基本运算符

运算符是检查、改变、合并值的特殊符号或短语,Swift 支持大部分标准 C 语言的运算符,且改进了许多特性来减少常规编码错误。如:赋值符 (=) 不返回值,以防止想要把判断相等运算符 (==) 的地方写成赋值符导致的错误;算数运算符 (+, -, *, /, %等) 会检测并不允许值溢出。

Swift 允许使用 Swift 的溢出运算符来实现溢出。此外,Swift 还提供了 C 语言没有的区间运算符,如:a…<b 或 a…b。

术语

运算符分为一元、二元、三元运算符:
一元运算符对单一操作对象,如 -a,一元运算符分前置运算符和后置运算符,分别需紧跟操作对象的前和后,如 !b;
二元运算符操作两个操作对象,如 2 + 3,是中置的;
三元运算符操作三个操作对象,和 C 语言一样,只有一个三元运算符 - 三目运算符 ( a ? b : c )。

受运算符影响的值叫操作数,例如 1 + 2,加号是二元运算符,值 1 和 2 是两个操作数。

赋值运算符

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

let b = 10
var a = 5
a = b

如果赋值的右边是一个多元组,它的元素可以马上被分解成多个常量或变量。

var (x, y) = (1, 2) // 现在 x 等于 1,y 等于 2
print(x)

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

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

这个特性可以避免把( == )错写成( = )。

算术运算符

Swift 中所有数值类型都支持了基本的四则算术运算符:加法 (+)、减法 (-)、乘法 (*)、除法 (/)。与 C 语言和 Objective-C 不同,Swift 默认不允许在数值运算中出现溢出情况,但可以使用溢出运算符来实现溢出运算,如 a &+ b。加法运算符也可用于 String 的拼接,如 "hello, " + “word” 等于 “hello, word”。

求余运算符

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

为了得到 a % b 的结果,% 计算了以下等式,并输出余数作为结果:a = (b × 倍数) + 余数,当倍数取最大值时,就会刚好可以容入 a 中。

print(9 % 4) // 9 = (4 × 2) +1
print(-9 % 4) // -9 = (4 × -2) + -1

在对负数 b 求余时,b 的符号会被忽略,这意味着 a % b 和 a % -b 的结果是一样的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值