美文网首页
Swift基本运算符

Swift基本运算符

作者: Lillian呆呆哒 | 来源:发表于2023-02-23 15:27 被阅读0次

1、一元、二元和三元运算符

一元运算符对单一操作对象操作(如-a)。一元运算符分前置运算符和后置运算符,前置运算符需紧跟在操作对象之前(如!b),后置运算符需紧跟在操作对象之后(例如c!)。备注:在Java/C没有类似c!的语法, 在Swift中用在Optional类型取值。

二元运算符操作两个操作对象(如2 + 3),是中置的,因为它们出现在两个操作对象之间。

三元运算符操作三个操作对象,和 C 语言一样,Swift 只有一个三元运算符,就是三目运算符(a ? b : c)

2、赋值运算符

3、算术运算符

Swift支持所有数字类型的四个标准算术运算符:

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

String串联也支持加法运算符:

剩余(%)运算符

余数运算符(a % b)计算出b的多少倍数将放入a中,并返回剩余的值(称为余数

对于b的负值,b的符号被忽略。这意味着a % b和a % -b总是给出相同的答案

其余运算符(%)在其他语言中也称为模运算符。然而,它在swift中负数的行为意味着,严格来说,这是一个余数,而不是模态操作。

4、比较运算符

Swift支持以下比较运算符:

等于(a == b)、不等于(a != b)、大于(a > b)、小于(a < b)、大于或等于(a >= b)、小于或等于(a <= b)

每个比较运算符都返回一个Bool值,以指示该语句是否为真

比较运算符通常用于条件语句,例如if语句:

如果两个元组具有相同的类型和相同数量的值,您可以比较它们。元组从左到右进行比较,一次一个值,直到比较发现两个不相等的值。对这两个值进行了比较,比较的结果决定了元组比较的总体结果。如果所有元素都是相等的,那么元组本身就是相等的。但是只有当运算符可以应用于相应元组中的每个值时,才能将元组与给定运算符进行比较。例如元组(String, Bool)无法与<运算符进行比较,因为<运算符不能应用于Bool值。并且Swift标准库只包括小于七个元素的元组的元组比较运算符。要比较带有七个或更多元素的元组,需要自己实现比较运算符。

4、合并空值运算符(??)

合并空值运算符 a ?? b 如果可选项 a 有值则展开,如果没有值,是 nil,则返回默认值 b

表达式 a 必须是一个可选类型,表达式 b 必须与 a 的存储类型相同

合并空值运算符,实际上是三元运算符作用到 Optional 上的缩写 a != nil ? a! : b

如果 a 的值是非空,b的值将不会被考虑,也就是合并空值运算符是短路的

5、区间运算符

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

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

单边范围:区间运算符有另一种形式,用于尽可能向一个方向持续的范围——例如,一个范围,包括数组从索引2到数组末尾的所有元素。在这些情况下,您可以省略范围运算符一侧的值。这种范围被称为单边范围,因为运算符只有一侧的值。

6、逻辑运算符

逻辑运算符修改或组合布尔逻辑值true和false。Swift支持基于C的语言中的三个标准逻辑运算符:

&&    逻辑与。如果运算符两侧都为 TRUE 则为 TRUE

||       逻辑或。 如果运算符两侧至少有一个为 TRUE 则为 TRUE

!       逻辑非。布尔值取反,使得true变false,false变true

7、位运算符

位运算符用来对二进制位进行操作,~, &, |, ^ 分别为取反,按位与与,按位与或,按位与异或运算

8、运算符的优先级

优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。

相同优先级中,按结合顺序计算。大多数运算是从左至右计算,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。

Swift 运算符优先级 (从高到低):

位运算符——乘除法运算符——加减法运算符——区间运算符——类型转换运算符——nil的聚合运算——比较运算符——逻辑与运算符——逻辑或运算符——三元运算符——赋值运算符

相关文章

  • swift 运算符

    Swift 基本运算符 标签(空格分隔): swift 运算符 zybuluo swift 运算符 特性 赋值运算...

  • 赋值和算数运算符

    基本概念 一元运算符、二元运算符、三元运算符Swift 只有一个三元运算符 a ? b : c Swift 运算符...

  • Swift 2.0 学习笔记 2_基本运算符

    //: 基本运算符 // Swift的赋值符(=)不返回值, 算术运算符(+, -, *, /, % 等)会检测并...

  • Operators(运算符)

    基本运算符 Swift 和其他编程语言一样, 有+, -, *, / 等运算符, = 代表赋值符号 复合运算符 有...

  • 27、【Swift】高级运算符 - Advanced Opera

    Swift 运算符基本运算符高级运算符(包括 C 或 Objective-C 所有按位和移位运算符。) 与 C 的...

  • Swift高级运算符

    Swift相比OC在运算符上做了一些改变, 但是基本的运算符,比如 +,-,*,/,%, 逻辑运算符,比如 &&,...

  • 26_高级运算符

    除了基本运算符,Swift 中还有许多可以对数值进行复杂运算的高级运算符。这些高级运算符包含了在位运算符和移位运算...

  • Swift编程二十八(高级运算符)

    案例代码下载 高级运算符 除了基本运算符中描述的运算符之外,Swift还提供了几个执行更复杂值操作的高级运算符。这...

  • 【Swift 3.1】02 - 基本运算符 (Basic Ope

    基本运算符 (Basic Operators) 自从苹果2014年发布Swift,到现在已经两年多了,而Swift...

  • swift2.2 - 高级运算符

    高级运算符 文档地址 作为 基本运算符 的补充,Swift 提供了几个高级运算符执行对数传值进行更加复杂的操作。这...

网友评论

      本文标题:Swift基本运算符

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