Swift - 嵌套 if 语句



在 Swift 中,允许将一个 if 语句嵌套在另一个 if 语句中。因此,当外部 if 语句的条件为真时,控制权才能访问嵌套的 if 语句。否则,控制权将跳过嵌套的 if 语句,并执行外部 if 语句之后存在的代码块。

您还可以将 if 语句嵌套在 if-else 语句中,反之亦然。您可以根据需要嵌套任意数量的 if 语句,但尽量避免过度嵌套,因为如果遇到错误,过度嵌套的代码难以维护。

语法

以下是嵌套 if 语句的语法:

if boolean_expression_1{ 
   /* statement(s) will execute if the boolean expression 1 is true */
   If boolean_expression_2{
      /* statement(s) will execute if the boolean expression 2 is true */
   }
}

您可以像嵌套 if 语句一样,以类似的方式嵌套else if...else

流程图

以下流程图将显示嵌套 if 语句的工作原理。

Nested If Statements

示例

Swift 程序演示嵌套 if 语句的使用。

import Foundation

var varA:Int = 100;
var varB:Int = 200;

/* Check the boolean condition using if statement */
if varA == 100 {

   /* If the condition is true then print the following */
   print("First condition is satisfied")

   if varB == 200 {
   
      /* If the condition is true then print the following */
      print("Second condition is also satisfied")
   }
}

print("Value of variable varA is \(varA)")
print("Value of variable varB is \(varB)")

输出

它将产生以下输出:

First condition is satisfied
Second condition is also satisfied
Value of variable varA is 100
Value of variable varB is 200

示例

Swift 程序使用嵌套 if-else 语句查找闰年。

import Foundation

let myYear = 2027

// Checking leap year
if myYear % 4 == 0 {
   if myYear % 100 == 0 {
      if myYear % 400 == 0 {
         print("\(myYear) is a leap year.")
      } else {
         print("\(myYear) is not a leap year.")
      }
   } else {
      print("\(myYear) is a leap year.")
   }
} else {
   print("\(myYear) is not a leap year.")
}

输出

它将产生以下输出:

2027 is not a leap year.

示例

Swift 程序检查给定数字是正数还是负数,是偶数还是奇数。

import Foundation

let num = -11

// Checking if the given number is positive 
// or negative even or odd number
if num > 0 {
   if num % 2 == 0 {
      print("Positive even number.")
   } else {
      print("Positive odd number.")
   }
} else if num < 0 {
   if num % 2 == 0 {
      print("Negative even number.")
   } else {
      print("Negative odd number.")
   }
} else {
   print("Number is zero.")
}

输出

它将产生以下输出:

Negative odd number.
广告