Swift学习-运算符(二)

看完了swift运算符(基本运算符)这章,感觉和as3的运算法则如出一辙,简单记录如下。(高级运算符到看到的时候再补上)

基本运算符

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

一元:-a,+a

二元:a + b

三元:a ? b: c

赋值运算符

let a = 10

let (x,y) = (1,2)

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

if x = y {

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

}

数值运算

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

加法(+)、减法(-)、乘法(*)、除法(/)

求余运算

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

为了得到a % b的结果,%计算了以下等式,并输出余数作为结果:
a = (b × 倍数) + 余数

 

-9 % 4   // 等于 -1

把-9和4代入等式,-2是取到的最大整数:

-9 = (4 × -2) +-1

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

 

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

8 % 2.5 // 等于 0.5

var b = 8.0

// swift3.0以上 对小数取余

var c = b.truncatingRemainder(dividingBy: 2.5)


复合赋值(Compound Assignment Operators

+=,*=,/=, %= 等

比较运算

所有标准 C 语言中的比较运算都可以在 Swift 中使用。

等于(a == b

不等于(a!= b)

大于(a > b

小于(a < b

大于等于(a >= b

小于等于(a <= b

不恒等(!==

恒等于(====

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

区间运算符

闭区间:(a...b)包括a和b

半闭区间:(a..<b)不包括b

Ps:看网上的教程,闭区间都标示成(a..b),根本无法运行。究其原因应该是以前版本的写法,现在写作(a..<b)。我的运行环境是是Xcode6.4,swift1.2。

逻辑运算

逻辑非(!a

逻辑与(a && b

逻辑或(a || b

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值