- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基本运算符 - Basic Operators
基本运算符 - Basic Operators
基本运算符
运算符是检查、改变、合并值的特殊符号或短语。例如,加号+将两个数相加 (如
let i = 1 + 2)。 杂些的运算例如逻辑与运算符 (如if
enteredDoorCode passedRetinaScan),或让 i 值加1的便捷⾃增运算
符++i等。
Swift ⽀持⼤部分标准 C 语⾔的运算符,且改进许多特性来减少常规编码错误。如:
赋值符 (=)不返回值,以防⽌把想要判断相等运算符 (==)的地⽅写成赋值符导致
的错误。算术运算符 (+,-,*,/,%等)会检测并不允许值溢出,以此来避免保存
变量时由于变量⼤于或⼩于其类型所能承载的范围时导致的异常结果。当然允许你使
⽤ Swift 的溢出运算符来实现溢出。详情参见溢出运算符。
区别于 C 语⾔,在 Swift 中你可以对浮点数进⾏取余运算 (%),Swift 还提供了 C 语
⾔没有的表达两数之间的值的区间运算符 (a..b和a...b),这⽅便我们表达⼀个
区间内的数值。
本章节只描述了 Swift 中的基本运算符,⾼级运算符包含了⾼级运算符,及如何⾃定
义运算符,及如何进⾏⾃定义类型的运算符重载。
术语
运算符有⼀元、⼆元和三元运算符。
⼀元运算符对单⼀操作对象操作 (如-a)。⼀元运算符分前置运算符和后置运
算符,前置运算符需紧排操作对象之前 (如!b),后置运算符需紧跟操作对象
之后 (如i++)。
⼆元运算符操作两个操作对象 (如2 + ),是中置的,因为它们出现在两个
操作对象之间。
三元运算符操作三个操作对象,和 C 语⾔⼀样,Swift 只有⼀个三元运算符,
就是三⽬运算符 (a ? b : c)。
受运算符影响的值叫操作数,在表达式1 + 2中,加号+是⼆元运算符,它的两个操
作数是值1和2。
赋值运算符
赋值运算 (a = b),表⽰⽤b的值来初始化或更新a的值:
let b = 10
var a = 5
a = b
// a 现在等于 10
如果赋值的右边是⼀个多元组,它的元素可以马上被分解多个常量或变量:
let (x, y) = (1, 2)
// 现在 x 等于 1, y 等于 2
与 C 语⾔和 Objective-C 不同,Swift 的赋值操作并不返回任何值。所以以下代码是错
误的:
if x = y {
// 此句错误, 因为 x = y 并不返回任何值
}
这个特性使你⽆法把 (==)错写成 (=),由于if x = y是错误代码,Swift帮你避
免此类错误的的发⽣。
算术运算符
Swift 中所有数值类型都⽀持了基本的四则算术运算:
加法 (+)
减法 (-)
乘法 (*)
除法 (/)
1 + 2 // 等于
5 - // 等于 2
2 * // 等于 6
10.0 / 2.5 // 等于 4 .0
与 C 语⾔和 Objective-C 不同的是,Swift 默认情况下不允许在数值运算中出现溢出情
况。但是你可以使⽤ Swift 的溢出运算符来实现溢出运算 (如a + b)。详情参见溢
出运算符。
加法运算符也可⽤于String的拼接:
hello, + world // 等于 hello, world
两个Character值或⼀个String和⼀个Character值,相加会⽣成⼀个新的
String值:
let dog: Character = d
let cow : Character = c
let dogCow = dog + cow
// 译者注: 原来的引号内是很可爱的⼩ 和⼩⽜, 但win os下不⽀持表情字符, 所以
// dogCow 现在是 dc
详情参见字符,字符串的拼接。
求余运算符
求余运算 (a % b)是计算b的多少倍刚刚好可以容⼊a,返回多出来的那部分 (余
数)。
注意:
求余运算 (%)在其他语⾔也叫取模运算。然⽽严格说来,我们看该运算
符对负数的操作结果,求余⽐取模更合适些。
我们来谈谈取余是怎么回事,计算9 % 4,你先计算出4的多少倍会刚好可以容⼊9
中:
2倍
文档评论(0)