English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Swift if、if ... else 文

この記事では、if と if ... else という二つの条件文を使用して、プログラムの実行フローを指定する方法について学びます。

プログラミングでは、指定された条件が true または false であるかどうか(ランタイムでのみ知ることができる場合もあります)に基づいて異なる操作を実行したい場合があります。その場合、制御流文を使用します。

Swift if(if-then) 文

Swiftのif文の構文は以下の通りです:

if expression {
	// 文
}
  • expression はボルンエクプレッション(true または false を返します)です。

  • expression が true に評価された場合、If コードブロック内の文を実行します。

  • expression が false に評価された場合、if コードブロック内の文は実行からスキップされます。

if 文はどう働くのか?

例1:Swift if 文

let number = 10
if number > 0 {
	print("数字が正です。")
}
print("この文は常に実行されます。")

このプログラムを実行すると、出力は以下の通りです:

数字が正です。
この文は常に実行されます

上記のプログラムでは、以下の値を使用して、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文はどのように動作しますか?

例2:Swift if else文

let number = 10
if number > 0 {
	print("数字が正です。")
} else {
	print("数字は正数ではありません。")
}
print("この文は常に実行されます。")

このプログラムを実行すると、出力は以下の通りです:

数字が正です。
この文は常に実行されます

上記のプログラムでは、定数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であるかをチェックします。

let number = 0;
if number > 0 {
	print("数字が正です。")
}
else if (number < 0) {
	print("数字が負数です。")
}
else {
	print("数字が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個の数字の中で最大の数字を探すプログラムです。

let n1 = -1.0, n2 = 4.5, n3 = -5.3
if n1 >= n2 {
	if n1 >= n3 {
		print("最大の数字は ", n1)
	}
	else {
		print("最大の数字は ", n3)
	}
}
else {
	if n2 >= n3 {
		print("最大の数字は ",  n2)
	}
	else {
		print("最大の数字は ",  n3)
	}
}

上記のプログラムを実行するとき、出力は以下のようになります:

最大の数字は 4.5