算术运算符
- 算术运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 赋值运算符
- 区间运算符
-
其他运算符
var A = 10
var B = 20
print("A + B 结果为:\(A + B)")
print("A - B 结果为:\(A - B)")
print("A * B 结果为:\(A * B)")
print("B / A 结果为:\(B / A)")
A += 1 // 类似 A++
print("A += 1 后 A 的值为 \(A)")
B -= 1 // 类似 B--
print("B -= 1 后 B 的值为 \(B)")
比较运算符
var A = 10
var B = 20
print("A == B 结果为:\(A == B)")
print("A != B 结果为:\(A != B)")
print("A > B 结果为:\(A > B)")
print("A < B 结果为:\(A < B)")
print("A >= B 结果为:\(A >= B)")
print("A <= B 结果为:\(A <= B)")
逻辑运算符
以下表格列出了 Swift 语言支持的逻辑运算符,其中变量 A 为 true,变量 B 为 false:
var A = true
var B = false
print("A && B 结果为:\(A && B)")
print("A || B 结果为:\(A || B)")
print("!A 结果为:\(!A)")
print("!B 结果为:\(!B)")
位运算符(比较复杂了解就行)
- 十进制转二进制
十进制整数转换为二进制整数采用"除2取余,逆序排列"法。
87转换为二进制:
87÷2=43余1
43÷2=21余1
21÷2=10余1
10÷2=5 余0
5÷2=2余1
2÷2=1余0
1÷2=0余1
从下往上取余数1010111。所以,87[10]=1010111[2].
var A = 60 // 二进制为 0011 1100
var B = 13 // 二进制为 0000 1101
print("A&B 结果为:\(A&B)")
print("A|B 结果为:\(A|B)")
print("A^B 结果为:\(A^B)")
print("~A 结果为:\(~A)")
赋值运算
区间运算符
print("闭区间运算符:")
//包括1、2、3、4、5
for index in 1...5 {
print("\(index) * 5 = \(index * 5)")
}
print("半开区间运算符:")
//包括1、2、3、4
for index in 1..<5 {
print("\(index) * 5 = \(index * 5)")
}
其他运算符
- 一元运算符对单一操作对象操作(如-a)
- 二元运算符操作两个操作对象(如2 + 3)
- 三元运算符就是三目运算符(a ? b : c)
运算符优先级
- 指针最优,单目运算优于双目运算。如正负号。
- 先乘除(模),后加减。
- 先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7 等价于 (1 << (3 + 2))&7
-
逻辑运算最后计算
swift条件语句
- if else if else
- switch
- 三目Exp1 ? Exp2 : Exp3;
Swift 语言中 switch 语句的语法:
switch expression {
case expression1 :
statement(s)
fallthrough /* 可选 */
case expression2, expression3 :
statement(s)
fallthrough /* 可选 */
default : /* 可选 */
statement(s);
}
- 一般在 switch 语句中不使用 fallthrough 语句。
- 如果使用了fallthrough 语句,则会继续执行之后的 case 或 default 语句,不论条件是否满足都会执行。
swift循环
- for-in 循环
for index in 1...5 {
print("\(index) 乘于 5 为:\(index * 5)")
}
var someInts:[Int] = [10, 20, 30]
for index in someInts {
print( "index 的值为 \(index)")
}
- while循环
如果条件为true,会重复运行一系列语句,直到条件变为false。
var index = 10
while index < 20
{
print( "index 的值为 \(index)")
index = index + 1
}
- repeat...while (类似其它语言的do-while循环)
var index = 15
repeat{
print( "index 的值为 \(index)")
index = index + 1
}while index < 20
index 的值为 15
index 的值为 16
index 的值为 17
index 的值为 18
index 的值为 19
循环控制语句
- continue立刻停止本次循环迭代,重新开始下次循环迭代。
- break语句会立刻结束整个控制流的执行。如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。
- fallthrough语句让 case 之后的语句会按顺序继续运行,且不论条件是否满足都会执行。