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 = 12
println(-a) ①
var b = a++ ②
println(b)
b = ++a ③
println(b)
输出结果如下:
-12
12
14
上述代码第①行是-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 + 2
println(intResult)
intResult = intResult - 1
println(intResult)
intResult = intResult 2
println(intResult)
intResult = intResult 2
println(intResult)
intResult = intResult + 8
intResult = intResult % 7
println(intResult)
println("-------")
/声明一个浮点型变量
var doubleResult = 10.0
println(doubleResult)
doubleResult = doubleResult - 1
println(doubleResult)
doubleResult = doubleResult 2
println(doubleResult)
doubleResult = doubleResult / 2
println(doubleResult)
doubleResult = doubleResult + 8
doubleResult = doubleResult % 7
println(doubleResult)
输出结果如下:
3
2
4
2
3
-------
10.0
9.0
18.0
9.0
3.0
上述例子中分别对整型和浮点型进行了二元运算,具体语句不再赘述。
4.1.3 算术赋值运算符
算术赋值运算符只是一种简写,一般用于变量自身的变化,具体说明参见表4-3。
表4-3 算术赋值符
运算符 | 名称 | 例子 |
---|---|---|
+=
| 加赋值 |
a+=b ,a+=b+3
|
-=
| 减赋值 |
a-=b
|
*=
| 乘赋值 |
a*=b
|
/=
| 除赋值 |
a/=b
|
%=
| 取余赋值 |
a%=b
|
下面我们来看一个算术赋值运算符的示例:
var a = 1
var b = 2
a += b // 相当于 a = a + b
println(a)
a += b + 3 // 相当于 a = a + b + 3
println(a)
a -= b // 相当于 a = a - b
println(a)
a = b // 相当于 a=ab
println(a)
a = b / 相当于 a=a/b
println(a)
a %= b // 相当于 a=a%b
println(a)
输出结果如下:
3
8
6
12
6
0
上述例子中分别对整型进行了+=
、-=
、*=
、/=
和%=
运算,具体语句不再赘述。