当一个应用能根据某些变量的值作出决策时,这里就需要用到条件语句,常见的条件语句有if/else
、嵌套的if/else
、三目运算符等
if/else条件语句
if/else
语句根据某个特定的逻辑条件执行代码。通常处理的是一个相对简单的“非此即彼”的状况:根据结果,要么运行一个分支的代码,要么运行另一个分支的代码(但不会同时运行两个分支的代码)。
import Cocoa
var population: Int = 5422
var message: String = ""
if population < 1000{
message = "\(population) is a small town!"
}else{
message = "\(population) is pretty big!"
}
print(message)
输出是
5422 is pretty big!
这个段代码首先声明了一个population
整型的变量,初始化值为5422,接着声明了一个message
为字符串的变量。
然后if/else条件语句这里根据if语句的计算结果来判断message被哪个分支赋值。
在这里用到了比较运算符
三目运算符
三目运算符(ternary operator)跟if/else很像,但是语法更简洁:a ? b : c。在汉语中,三目运算符可以这么念:“如果a为真,那么做b;否则做c。”
import Cocoa
var population: Int = 5422
var message: String = ""
message = population < 1000 ? "\(population) is a small town!" : "\(population) is pretty big!"
print(message)
嵌套if
就是可以在一个if/else语句中在写一个if/else语句
import Cocoa
var population: Int = 5422
var message: String = ""
var hasPostOffice: Bool = true
if population < 10000{
message = "\(population) is a small town!"
}else{
if population >= 1000 && population < 50000{
message = "\(population) is a medium town!"
}else{
message = "\(population) is pretty big!"
}
}
print(message)
if !hasPostOffice {
print("Where do we buy stamps?")
}
else if
else if条件语句可以让你把多个条件语句串起来。它能让你检查多种情况,并根据哪个分
支为真来执行代码。你可以把任意多个else if串起来,不过只有一种条件会得到匹配。
import Cocoa
var population: Int = 5422
var message: String = ""
var hasPostOffice: Bool = true
if population < 10000{
message = "\(population) is a small town!"
}else if population >= 1000 && population < 50000{
message = "\(population) is a medium town!"
}else{
message = "\(population) is pretty big!"
}
print(message)
if !hasPostOffice {
print("Where do we buy stamps?")
}