Swift的条件语句有很多,本文就讲一个简单的if...
语句。如果你看过上一篇文章,将会知道三元条件运算是if...
语句的一个简化表示。
1.5.1 if…
这是一个基本的例子。
创建一个名叫runThisCode
的布尔变量,决定if...
语句后{...}
中的代码是否执行。
var runThisCode = true
if runThisCode {
print("执行这里的代码!")
}
如果运行这个代码,则可以在控制台看到执行这里的代码
这行字。
将runThisCode
的值改为false
,控制台就什么也不写。
if...
语句的基本用法就是,给一个布尔值,如果布尔值是true
,就执行后方的代码。
练习11
现在给出一个整数,x,值不确定。
判断x是否为奇数。如果是,在控制台输出“x是奇数”。
在此基础上修改:var x = 3 // 可以是任意整数 // 在此处添加代码
难度:##
1.5.2 嵌套
基本上所有的代码都可以被认为是在一个if true {...}
之中。
可以这么说,{...}
是一个代码块,块可以包含一般的代码以及更多的块。
if true {
print("Hello World")
var running = true
if running {
print("Hi World")
}
}
在块内被声明变量是属于这个块的,不能在块之外起作用。但是可以在下方被嵌套的块中起作用。
if true {
var outerVar = "外层变量"
if true {
var innerVar = "内层变量"
print(outerVar) // 可以访问外层变量
print(innerVar) // 可以访问内层变量
}
// print(innerVar) // 错误:内层变量在外部不可见
}
练习12
若isWeekend
为true
,则判断isSunny
。
如果isSunny
也为true
,则输出“周末天气很好,适合出去玩!”
,否则输出“周末天气不太好,适合宅在家里。”
。
在此基础上修改:var isWeekend = true // 或false var isSunny = true // 或false var s1 = "周末天气很好,适合出去玩!" var s2 = "周末天气不太好,适合宅在家里。" // 在此处添加代码
难度:#
1.5.3 if…else…
意思是,如果if...
不被执行,那么就去执行else...
的代码。
var score = 6
if score >= 60 {
print("及格")
} else {
print("不及格")
}
// 不及格
练习13
给一个整数x,如果是奇数则将它加上1,否则将它除以2,然后将它输出到控制台。
在此基础上修改:var x = 3 // 可以是任意整数 // 在此处添加代码 print("x = \(x)")
难度:##
1.5.4 if…else if…(else if…)…else…
让之前的划分更详细一些。
var score = 75
if score >= 90 {
print("优秀")
} else {
if score >= 80 {
print("良好")
} else {
if score >= 60 {
print("及格")
} else {
print("不及格")
}
}
}
// 及格
Swift提供了一种简化的表示方法,不用写那么多嵌套。
var score = 75
if score >= 90 {
print("优秀")
} else if score >= 80 {
print("良好")
} else if score >= 60 {
print("及格")
} else {
print("不及格")
}
// 及格
练习14
整数x的值为1,2,3,4,5,6,7中的一个,让x的值决定输出信息“今天是星期...”
。
例如,如果x = 5,则在控制台输出“今天是星期五”
。
在此基础上修改:var x = 1 // 可以是1...7中的某一个数 // 在此处添加代码
难度:##
参考答案:
练习11
var x = 3 //可以是任意整数
if (x % 2 == 1) {
print("x是奇数")
}
练习12
var isWeekend = true // 或false
var isSunny = true // 或false
var s1 = "周末天气很好,适合出去玩!"
var s2 = "周末天气不太好,适合宅在家里。"
if isWeekend {
if isSunny {
print(s1)
} else {
print(s2)
}
}
练习13
var x = 3 // 可以是任意整数
if (x % 2 == 1) {
x = x + 1
} else {
x = x / 2
}
print("x = \(x)")
练习14
var x = 1 // 可以是1...7中的某一个数
if (x == 1) {
print("今天是星期一")
} else if (x == 2) {
print("今天是星期二")
} else if (x == 3) {
print("今天是星期三")
} else if (x == 4) {
print("今天是星期四")
} else if (x == 5) {
print("今天是星期五")
} else if (x == 6) {
print("今天是星期六")
} else if (x == 7) {
print("今天是星期日")
}