【Swift】if文の使い方(Swift 2.1、XCode 7.2)

2020年6月16日

コードの中に質問を記述し、正しいか、間違いかで処理を分けることを条件分岐という。

例えば、「変数aの値は0以上である」という質問に対し、正しい場合は「0以上です」と出力、間違いの場合は「0未満です」と出力するといった具合だ。

プログラミングの世界では、質問のことを条件式、正しいことをtrue(真)、間違いはfalse(偽)と表現する。

具体的には以下のコードのようになる。

 

Swiftではifの横につける条件式の括弧は省略することができる。例えば、先ほどの条件式「if ( a >= 0)」は「if a >= 0」と記述できる。ただし、括弧を付けておいたほうが条件式であることが分かりやすいので、付けておいたほうが親切だ。

 

1つの質問の答えが間違っている場合に別の質問をしたいときは、else ifを使って以下のコードのように記述する。最初の質問が間違っていた場合のみ次の質問が行われる。

 

else ifを使わずにif文を連続で書けばいいと思うかもしれないが、if文の連続にすると、最初の質問が正しい場合は別の質問をする必要が無くてもしてしまうので注意が必要だ。

 

2つの質問を書いて両方の質問が正しい時とそうでない時の分岐をさせるには、&&を使って以下のコードのように記述する。&&は「かつ」と読む。

 

2つの質問を書いて、どちらか1つでも質問が正しい場合の処理と、両方とも正しくなかった場合の処理で分岐させるには、||を使って以下のコードのように記述する。||は「または」と読む。

 

&&、||を組み合わせれば1つの条件式にいくつでも質問を記述できる。

 

if文のスコープ内(中括弧{}で挟まれた箇所)で宣言した変数はスコープ外では使うことができないので注意すること。

例えば、以下のコードではスコープ内で変数bを宣言し、スコープ外で変数bを参照しようとするが使うことはできないのでエラーが発生する。

 

以下のコードのようにスコープ外で変数bを宣言すれば、スコープ内でも外でも使うことができる。