この記事ではJavaの分岐の構文、switch文について解説します!
同じく分岐の構文であるif文を解説した前回のJava入門記事はこちら!
見てみて~if文をマスターしたよ!
どれどれ、見てみようか!
…地獄のようなif-else文を書いてるね。
うーん確かにいっぱい条件があると、長くなっちゃうんだよね。
こんな時はif文ではなくて別の分岐の構文、switch文を使ってみようか!
switch文とは
分岐の構文はif文の他にswitch文(スイッチ文)というものがあります。switch文は変数を繰り返し比較した際にif-else文よりもスッキリ書くことができます!
変数○○に△△が入っている場合はこれを、□□の場合はこれを、といった処理ができるようになります!
switch文の書き方
switch(比較したい変数){
case 値1:
変数が値1と同じとき行いたい処理
break;
case 値2:
変数が値2と同じとき行いたい処理
break;
・
・
・
default:
どの値とも一致しなかったときに行う処理
}
複雑なようですがやっていることは簡単です。
変数がどの値に一致するかを見て、一致したcaseの下に書かれている処理を実行します。このとき処理の最後に「break;」を書くようにしましょう。
最後にはdefaultを書き、変数がどの値とも一致しない場合の処理を書きましょう。default文は必要なければ省略可能です。
switch文の例
変数の値を一個ずつ比べて一致したcaseの箇所の処理を実行するんだね!
switch文の注意点
比較できるのは一致するかのみ
if文などでは「>」を使ったり、「!=」を使ったりと比較する条件式を使えます。しかし、switch文ではいわゆる「==」の、左右が一致するかどうかの比較しかできません。
比較できる値の制限
変数の値がなんでも比較できるというわけではなく、比較できる値は「整数」「文字列」「文字」のいずれかとなります。
break文を書かないとどうなる?
実はbreak文は書かなくてもエラーは起きません。break文はそこにさしかかるとswitch文を抜けます、という命令文です。
なので次のcase文も続けて実行されてしまいます。
このようにひとつのcase文の処理が終わってもswitch文を終了せず、次のcase文にいってしまいます。
break文をあえて書かないというテクニックもあるよ。
よくわからなくなりそうだから慣れるまではやめとく~。
複数の比較ができるswitch文!
このようにif文が複雑になってしまうケースもswitch文を使えば解消できるケースがあるんだよ。
これからはif文とswitch文を使い分けて分岐をマスターするぞぃ!
コメント