📜  Swift if,if … else语句

📅  最后修改于: 2020-10-09 15:55:09             🧑  作者: Mango

在本文中,您将学习使用两个条件语句:if和if … else来控制程序执行的流程。

在编程中,您可能希望根据指定的条件为truefalse (仅在运行时知道)执行不同的操作。在这种情况下,将使用控制流语句。


Swift if(if-then)语句

Swift中if语句的语法为:

if expression {
    // statements
}
  • 这里的expression是一个布尔表达式(返回truefalse )。
  • 如果expression的计算结果为true ,则执行if代码块内的语句。
  • 如果expression的计算结果为false ,则会跳过if代码块内的语句。

如果语句如何工作?

How if statement in Swift works?


示例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语句如何工作?

How if..else statement in Swift works?


示例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