在编程中,您可能希望根据指定的条件为true
或false
(仅在运行时知道)执行不同的操作。在这种情况下,将使用控制流语句。
Swift if(if-then)语句
Swift中if语句的语法为:
if expression {
// statements
}
- 这里的
expression
是一个布尔表达式(返回true
或false
)。 - 如果
expression
的计算结果为true
,则执行if
代码块内的语句。 - 如果
expression
的计算结果为false
,则会跳过if
代码块内的语句。
如果语句如何工作?
示例1:Swift if语句
let number = 10
if number > 0 {
print("Number is positive.")
}
print("This statement is always executed.")
运行该程序时,输出为:
Number is positive.
This statement is always executed.
在上述程序中,我们已经初始化常数具有值10和测试表达式number > 0
评估为真。因此,执行if语句体内的语句print("Number is positive.")
会输出Number为正。在控制台中。
现在,将number的值更改为负整数。假设-5
。在这种情况下的输出将是:
This statement is always executed.
当number用值-5初始化时,测试表达式number > 0
被评估为false。因此,Swift编译器会跳过if语句主体的执行。
Swift if..else(if-else)语句
如果测试表达式的值为true,则if语句执行代码的特定部分。 if语句可以具有可选的else语句。如果测试表达式为假,则执行else语句主体内的代码。
if-else语句的语法为:
if expression {
// statements
} else {
// statements
}
if..else语句如何工作?
示例2:Swift if else语句
let number = 10
if number > 0 {
print("Number is positive.")
} else {
print("Number is not positive.")
}
print("This statement is always executed.")
运行该程序时,输出为:
Number is positive.
This statement is always executed
在上述程序中,常数number初始化为值10,并且测试表达式number > 0
计算结果为true
。因此,在if语句体内执行了语句print("Number is positive.")
。
此输出Number为正。在控制台中,其他主体内的语句将从执行中跳过。
现在,将number的值更改为负数。假设-5。在这种情况下的输出将是:
Number is not positive.
This statement is always executed.
当number为-5时,将测试表达式number > 0
评估为false
。在这种情况下,将执行else主体内部的语句,并跳过if主体内部的语句。
您还可以在Swift中用三元运算符替换if..else语句,这是if … else语句的简写形式。
Swift if..else..if(if-else-if)语句
在Swift中,还可以在许多代码中执行一个代码块。为此,可以将if..else..if阶梯用作:
if-else-if语句的语法为:
if expression1 {
// statements
}
else if expression2 {
// statements
}
else if expression3 {
// statements
}
.
.
else {
// statements
}
if语句从上到下执行。一旦测试表达式为真,将在该if语句的主体内执行代码。然后,程序控制跳到if-else-if梯形图之外。
如果所有测试表达式均为false
,则执行else主体内部的代码
示例3:Swift if..else..if语句
以下程序检查number是正数,负数还是0。
let number = 0;
if number > 0 {
print("Number is positive.")
}
else if (number < 0) {
print("Number is negative.")
}
else {
print("Number is 0.")
}
运行该程序时,输出为:
Number is 0.
在上面的程序中,常数number初始化为值0。由于从上到下执行语句,因此它将检查表达式number > 0
并得出false
。
然后,它检查下一个表达式number < 0
,该值也将得出false。
因此,将执行else主体内部的语句print("Number is 0.")
,该语句在控制台中输出Number为0 。
Swift嵌套if..else语句
在Swift中,if..else语句中可能包含if..else语句。称为嵌套if … else语句。
您还可以在Swift中用switch替换嵌套的if..else语句,这在处理几个可能的选项时有时是一种更简单的方法。
嵌套的if-else语句的语法为:
if expression1 {
if expression2 {
// statements
} else {
// statements
}
}
else {
if expression3 {
// statements
} else {
// statements
}
}
示例4:嵌套if … else语句
这是一个使用嵌套if语句查找3个数字中最大的一个的程序。
let n1 = -1.0, n2 = 4.5, n3 = -5.3
if n1 >= n2 {
if n1 >= n3 {
print("Largest number is ", n1)
}
else {
print("Largest number is ", n3)
}
}
else {
if n2 >= n3 {
print("Largest number is ", n2)
}
else {
print("Largest number is ", n3)
}
}
当您运行上述程序时,输出将是:
Largest number is 4.5