こんにちは、にいるです。
この記事はSavepoオリジナルの開発初心者向けプログラム「Sink it」です。
今回は、第4回目の条件分岐で使用する「switch文」です。
この記事は「4.switchを使ってみよう」の解説と解答です。
1.switchとは
構文です。
値に入るデータ型はInteger、Long、sObject、String、Enumの必要があります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
switch on 値 { when value1 { // when block 1 // code block 1 } when value2 { // when block 2 // code block 2 } when value3 { // when block 3 // code block 3 } when else { // default block, optional // code block 4 } } |
2.解答・解説
今回は数値判断なので、Integer型を使用した分岐を書いてみました。
解答
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
switch on i{ when 1 { System.debug('1月はJanuaryです。'); } when 2 { System.debug('2月はFebruaryです。'); } when 3 { System.debug('3月はMarchです。'); } when 4 { System.debug('4月はAprilです。'); } when 5 { System.debug('5月はMayです。'); } when 6 { System.debug('6月はJuneです。'); } when 7 { System.debug('7月はJulyです。'); } when 8 { System.debug('8月はAugustです。'); } when 9 { System.debug('9月はSeptemberです。'); } when 10 { System.debug('10月はOctoberです。'); } when 11 { System.debug('11月はNovemberです。'); } when 12 { System.debug('12月はDecemberです。'); } when else { System.debug('不正な数字が入力されています。'); } } |
解説
数式項目でいうとCaseの使い方と一緒ですね。
上記のプログラムは1〜12の値だけを想定しています。
もし1~12の値以外が入ってくる場合はwhen elseでその他の括りで処理するようにしています。
「この値ならこの処理を実行する」という各条件での指定がしっかりできるので、書き分けも整理できると思います。
ただ実務では使用しているプログラムはあまりみたことないので、こんなこともできますよという感じで覚えておくといいと思います。
3.まとめ
いかがでしたでしょうか。
ifでも実現できますが、値が単一の変数を使用する場合はswitch文の方が読みやすいですね。
皆さんもぜひ色々と試してみてください。
他にも色々と標準機能やSalesforce機能について紹介していますので、ご覧ください。
ではでは!