どうも!リョクちゃです。
今回は複数の条件が並べられたとき、ついif文を使いがちですが
こんなときに使える、if文に変わる文法を紹介していきます。
ちなみに前回はこちら
Switch文:複数条件に使える条件分岐
1 2 3 4 5 6 7 8 9 |
switch (条件) { Value { 処理1 } Value { 処理2 } Default { 処理1、処理2に該当しなかった場合の処理 } } |
条件が少ないとき、例えば2~3つの場合はif文の方が良かったりしますが、
条件が5~6つと増えるにつれて、if文を使って書くと途中でわからなくなってしまいます。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
if (条件1) { 処理1 } elseif (条件2) { 処理2 } elseif (条件3) { 処理3 } elseif (条件4) { 処理4 } elseif (条件5) { 処理5 } else { いずれの処理にも該当しなかった場合 } |
長くなるにつれてわかりづらくなってきますね……。
そんなときにSwitch文は効果を発揮します。
例えば、変数xの値によって返す値を分けたい場合
if文だと
1 2 3 4 5 6 7 8 9 10 11 12 13 |
if (x -eq 1) { "おはよう" } elseif (x -eq 2) { "こんにちは" } elseif (x -eq 3) { "こんばんは" } elseif (x -eq 4) { "Good morning" { } elseif (x -eq 5) { "Good afternoon" } else { "Thank you" } |
条件式にある “-eq”はPowerShellにおける比較演算子で、
右辺と左辺が等しいことを表します。
xとyは等しい
Switch文だと
1 2 3 4 5 6 7 8 |
switch ($x) { 1 { "おはよう" } 2 { "こんにちは" } 3 { "こんばんは" } 4 { "Good Morning" } 5 { "Good afternoon" } default { "Thank you "} } |
と書くことができ、if文と比べてスッキリしているのがわかります。
if文だと比較演算子を使って条件式を作らないといけない分、
switch文では比較演算子を使わず、Valueの箇所に条件と一致する値を
記述することで条件ごとに処理を分岐することができます。
そのため、スッキリとした見栄えになります。
ある変数の値によって処理を複数に分けたい場合に
ぜひ活用してみてください。
まとめ
複数の条件が並ぶときに効率的な書き方について紹介していきました。
なにかと複数の条件の時もif文を多用しがちですが、switch文を活用することで
コードを綺麗にでき且つデバッグ時におけるエラーも軽減することが望めます。
文法としては覚えておくと便利なので、頭の片隅にでも。
プログラミングボキャブラリーを増やしていきましょう。
最後までお読みいただき、ありがとうございます。