import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
var i = 0
print("i == \(i)")
/**
++i是 i = i + 1的缩写
--i是 i = i - 1的缩写
当++前置的时候 先自增再返回
当++后置的时候 先返回后自增
除非你需要使用 i++ 的特性,不然推荐你使用 ++i 和 --i
因为先修改后返回这样的行为更符合我们的逻辑。
*/
let b = ++i
i = 0
let c = i++
print("b == \(b)")
print("c == \(c)")
/**
数值的正负可以使用前缀(-)(即一元负号)来切换
一元负号(-)写在操作数之前,中间没有空格。
*/
let three = 3
let stayThree = -three
print("stayThree == \(stayThree)")
/**
表达式 a += 2 是 a = a + 2 的简写,一个加赋运算同时把加法和赋值两件事完成了
复合赋值运算没有返回值,let b = a += 2 代码是错误
这不同于上面提到的自增和自减运算符
*/
var a = 1
a += 3
print("a == \(a)")
/**
Swift 支持所有标准 C 语言中的比较运算符
等于(a == b)
不等于(a != b)
大于(a > b)
小于(a < b)
大于等于(a >= b)
小于等于(a <= b)
Swift 也提供恒等 === 和不恒等 !==
这两个比较符来判断两个对象是否引用同一个对象实例
每个比较运算都返回了一个布尔值:
1 == 1 // true, because 1 is equal to 1
2 != 1 // true, because 2 is not equal to 1
2 > 1 // true, because 2 is greater than 1
1 < 2 // true, because 1 is less than 2
1 >= 1 // true, because 1 is greater than or equal to 1
2 <= 1 // false, because 2 is not less than or equal to 1
比较运算多用于条件语句
*/
let bool = 1 == 1
print("bool == \(bool)")
if 1 != 2 {
print("true")
} else {
print("false")
}
/**
三元条件运算符比较特殊,它有三个操作数
它的格式是 question ? answer1 : answer2
简洁的表达出 question 是否成立( true )。
如果 question 成立,返回 answer1 的结果,否则返回 answer2 的结果。
使用三元条件运算简化了以下代码
*/
let question = 1 >= 1
if question {
print("answer1 == \(question)")
} else {
print("answer2 == \(question)")
}
}
}