4.1 算术运算符
Swift中的算术运算符用来组织整型和浮点型数据的算术运算,按照参加运算的操作数的不同可以分为一元运算符和二元运算符。
4.1.1 一元运算符
算术一元运算一共有3个,分别是-、++和--。-a是对a取反运算,a++或a--是在表达式运算完后,再给a加一或减一。而++a或--a是先给a加一或减一,然后再进行表达式运算。具体说明参见表4-1。
表4-1 一元算术运算
| 运算符 | 名称 | 说明 | 例子 |
|---|---|---|---|
-
| 取反符号 | 取反运算 |
b=-a
|
++
| 自加一 | 先取值再加一,或先加一再取值 |
a++或++a
|
--
| 自减一 | 先取值再减一,或先减一再取值 |
a--或--a
|
下面我们来看一个一元算数运算符的示例:
var a = 12println(-a) ①var b = a++ ②println(b)b = ++a ③println(b)
输出结果如下:
-121214
上述代码第①行是-a,是把a变量取反,结果输出是-12。第②行代码是把a++赋值给b变量,先赋值后++,因此输出结果是12。第③行代码是把++a赋值给b变量,先++后赋值,因此输出结果是14。
4.1.2 二元运算符
二元运算符包括:+、-、*、/和%,这些运算符对整型和浮点型数据都有效,具体说明参见表4-2。
表4-2 二元算术运算
| 运算符 | 名称 | 说明 | 例子 |
|---|---|---|---|
+
| 加 |
求a加b的和,还可用于String类型,进行字符串连接操作
|
a+b
|
-
| 减 |
求a减b的差
|
a-b
|
*
| 乘 |
求a乘以b的积
|
a*b
|
/
| 除 |
求a除以b的商
|
a/b
|
%
| 取余 |
求a除以b的余数
|
a%b
|
下面我们来看一个二元算数运算符的示例:
//声明一个整型变量var intResult = 1 + 2println(intResult)intResult = intResult - 1println(intResult)intResult = intResult * 2println(intResult)intResult = intResult / 2println(intResult)intResult = intResult + 8intResult = intResult % 7println(intResult)println("-------")//声明一个浮点型变量var doubleResult = 10.0println(doubleResult)doubleResult = doubleResult - 1println(doubleResult)doubleResult = doubleResult * 2println(doubleResult)doubleResult = doubleResult / 2println(doubleResult)doubleResult = doubleResult + 8doubleResult = doubleResult % 7println(doubleResult)
输出结果如下:
32423-------10.09.018.09.03.0
上述例子中分别对整型和浮点型进行了二元运算,具体语句不再赘述。
4.1.3 算术赋值运算符
算术赋值运算符只是一种简写,一般用于变量自身的变化,具体说明参见表4-3。
表4-3 算术赋值符
| 运算符 | 名称 | 例子 |
|---|---|---|
+=
| 加赋值 |
a+=b,a+=b+3
|
-=
| 减赋值 |
a-=b
|
*=
| 乘赋值 |
a*=b
|
/=
| 除赋值 |
a/=b
|
%=
| 取余赋值 |
a%=b
|
下面我们来看一个算术赋值运算符的示例:
var a = 1var b = 2a += b // 相当于 a = a + bprintln(a)a += b + 3 // 相当于 a = a + b + 3println(a)a -= b // 相当于 a = a - bprintln(a)a *= b // 相当于 a=a*bprintln(a)a /= b // 相当于 a=a/bprintln(a)a %= b // 相当于 a=a%bprintln(a)
输出结果如下:
3861260
上述例子中分别对整型进行了+=、-=、*=、/=和%=运算,具体语句不再赘述。
