添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Swift if,if ... else语句

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

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

Swift if(if-then)语句

Swift中 if语句 的语法为:

if expression {
	// 语句
}

if语句如何工作?

Swift中的if语句如何工作?

示例1:Swift if语句

运行该程序时,输出为:

数字为正。
此语句始终执行。

在上面的程序中,我们已经用值10初始化了常量number,并且测试表达式number>0的计算结果为true。因此,语句print("Number is positive.")在if语句体中执行,该语句输出: 数字为正 。在控制台中。

现在,将number的值更改为负整数。比方说-5。在这种情况下的输出将是:

该语句始终执行。

当number使用值-5初始化时,测试表达式number > 0的计算结果为false。因此,Swift编译器会跳过if语句主体的执行。

Swift if..else(if-else)语句

如果 if 测试表达式的值为true,则if语句执行代码的特定部分。if语句可以具有可选的else语句。如果测试表达式为 false,则执行else语句主体内的代码。

if-else语句的语法为:

if expression {
	// 语句
} else {
	// 语句
}

if..else 语句如何工作?

Swift中的if..else语句如何工作?

示例2:Swift if else语句

运行该程序时,输出为:

数字为正。
此语句始终执行。

在上述程序中,常量number用值 10 初始化,并且测试表达式 (number > 0) 计算结果为true。因此,if语句体内的 print("数字为正。") 语句将被执行。

此输出 : 数字为正。 在控制台中,else主体内的语句将从执行中跳过。

现在,将number 值更改为负数。假设为 -5。在这种情况下的输出将是:

数字不是正数。
此语句始终执行。

当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 {
	// 语句
else if expression2 {
	// 语句
else if expression3 {
	// 语句
else {
	// 语句
}

if语句从上到下执行。一旦测试表达式为真,将在该if语句的主体内执行代码。然后,程序控制跳到if-else-if阶梯之外。

如果所有测试表达式均为 false,则执行else主体内部的代码

示例3:Swift if..else..if语句

以下程序检查number是正数,负数还是0。

运行该程序时,输出为:

数字为0。

在上面的程序中,常量number用值 0 初始化。由于if 是从上到下执行语句,则它优先检查 number > 0 的表达式计算为 false。

然后,它检查下一个表达式 number < 0,该表达式的结果也为 false。

因此,print("Number is 0.")将执行else主体内部的语句,该语句在控制台中输出 数字为0

Swift 嵌套 if..else语句

在Swift中,if..else语句中可能包含其他的if..else语句。称为嵌套if ... else语句。

您还可以在Swift中用 switch 替换嵌套的if..else语句,这在处理几个可能的选项时有时是一种更简单的方法。

嵌套的if-else语句的语法为:

if expression1 {
	if expression2 {
		// 语句
	} else {
		// 语句
else {
	if expression3 {
		// 语句
	} else {
		// 语句
}

示例4:嵌套if ... else语句

这是一个使用嵌套if语句查找3个数字中最大数字的程序。

当您运行上述程序时,输出将是:

最大的数字是 4.5