2.运算符

  Swift 支持大部分标准 C 语言的运算符,分为一元、二元和三元运算符。

  • 一元运算符对单一操作对象操作(如 -a)。一元运算符分前置运算符和后置运算符,前置运算符需紧跟在操作对象之前(如 !b),后置运算符需紧跟在操作对象之后(如 i++)。
  •  二元运算符操作两个操作对象(如 2 + 3),是中置的,因为它们出现在两个操作对象之间。
  •  三元运算符操作三个操作对象,和 C 语言一样,Swift 只有一个三元运算符,就是三目运算符(a ? b : c)。

1.赋值运算符: (=)

let a = 10

2.算术运算符: 加法(+)、减法(-)、乘法(*)、除法(/

1 + 2 ;
5 - 3;
2 * 3;
10.0 / 2.5;

【说明】:加法运算符也可用于 String 的拼接。例如:

"hello, " + "world";

3.求余运算符: (%)

9 % 4;  //结果为1

【说明】:不同于 C 语言和 Objective-CSwift 中是可以对浮点数进行求余。例如:

8 % 2.5;  //结果为0.5

4.自增和自减运算:自增(++)和自减(--

  • ++ 前置的时候,先自増再返回; ++ 后置的时候,先返回再自增。

【注意】:it will be removed in Swift 3,可以不看。

5.一元负号运算符: (-)

  • 一元负号(-)写在操作数之前,中间没有空格。比如:-3

6.一元正号运算符:  (+)

  • 不做任何改变地返回操作数的值。

7.组合赋值运算符

  • Swift 提供把其他运算符和赋值运算(=)组合的组合赋值运算符,组合加运算(+=)是其中一个例子。

8.比较运算符

  • 所有标准 C 语言中的比较运算都可以在 Swift 中使用: ==!=><>=<=
  • Swift 提供恒等(===)和不恒等(!==)这两个比较符来判断两个对象是否引用同一个对象实例(具体看类和结构体章节)
  • 当元组中的值可以比较时,也可以使用这些运算符来比较它们的大小。例如,因为 Int String 类型的值可以比较,所以类型为 (Int, String) 的元组也可以被比较。相反,Bool 不能被比较,也意味着存有布尔类型的元组不能被比较。
(1, "zebra") < (2, "apple");  //true
(3, "apple") < (3, "bird");  //true
(4, "dog") == (4, "dog");  //true

9.三元运算符:问题 ? 答案 1 : 答案 2

  • 表示根据 问题成立与否作出二选一的操作。如果 问题 成立,返回 答案 1 的结果;反之返回 答案 2 的结果。

10.空合运算符:空合运算符(a ?? b

  • 对可选类型 a 进行空判断,如果 a 包含一个值就进行解封,否则就返回一个默认值 b。表达式 a 必须是 Optional 类型。默认值 b 的类型必须要和 a 存储值的类型保持一致。
  • 空合运算符是对以下代码的简短表达方法:a != nil ? a! : b

11.区间运算符

  • 闭区间运算符(a...b)定义一个包含从 a b(包括 a b)的所有值的区间。a 的值不能超过 b 
  • 半开区间(a..<b)定义一个从 a b 但不包括 b 的区间。 之所以称为半开区间,是因为该区间包含第一个值而不包括最后的值。
for index in 1...5
{
    print("\(index) * 5 = \(index * 5)");  //执行5次
}

12.逻辑运算

  • 逻辑非(!a
  • 逻辑与(a && b
  • 逻辑或(a || b
posted @ 2016-07-15 15:22  LeeGof  阅读(425)  评论(0编辑  收藏  举报