プログラミング Java

【Java入門】判定処理(if, if else, switch文)の使い方まとめ

投稿日:

概要

判定処理には、if / if-else / switch文があります。
これらはとても基本的な判定処理ですが、基本的な使い方に加えて、ちょっとした構文上のTipsや注意点についても解説していきます。
 

if文

基本構文

if文の基本構文です。
ifのカッコ内に判定する条件を記述し、一致する場合はカッコ内の処理が実行されます。
一致しない場合、カッコ内処理は行われません。

 

カッコの省略記法

if文のカッコを省略する記述方法です。
カッコ内の処理が1行だけの場合、カッコを省略することができます。

実際の開発現場ではカッコを省略できる場合でも、省略することはあまりありません。
理由は、パッと見でわかりずらいため、判断ミスにつながるからです。
これは私の考えですが、おそらくほとんどの会社のコーディング規約ではif文の省略は認めていないはずです。

実際、執筆時点(2021年5月20日)のGoogle Style(Googleのコーディング規約)でもカッコを使うようになっています。

4.1.1 Braces are used where optional
Braces are used with if, else, for, do and while statements, even when the body is empty or contains only a single statement.

4.1.1 使えるところでは中括弧は使う
中括弧は if else for do while 文において本体が空でも1行しかなくても使われる。

言語特性としてそのように記述できるから使うのではなく、コードのメンテナンス性などを考慮したコーディングができることが求められているということだと思います。
 

elseを使わないでコーディングする

elseは無い方が簡潔で読みやすいコードになります。
もしあなたが初心者でelseを使わないことができない場合でも、将来はelseを使わないコードを書けるようになることを目指してみてください。
きっと、良いコードを書けるようになったことを嬉しく思えるようになるはずです。

elseを書かないようにする方法については以下を参照下さい。

 

switch文

基本構文

switch文はcase句に一致する値を入り口として、以降はbreakがあるまで全ての処理が実行されます。
以下の例だと、case句にbreakはセットになっているので、「case is 2」のみが表示されます。

breakが無い場合

「case 2」が入口になっているのは基本構文のケースと同じですが、breakが無いため処理が終了しません。
そのため、以降の「case 3」「default」まで実行されます。

(注意)
switch文はあくまでcase句の入り口を判定するだけです。
if文のように処理される条件が指定できるわけではないので、該当のcase以外の処理を行わせたくない場合は、必ずbreakを入れるようにしましょう。

もしswitch文を書かなくていいなら、if文にしましょう。
brackを書き忘れるリスクを引き受けるより、if文で合致した条件のみを処理させる方が安全だからです。
 

コラム

実際、開発現場でswitch文を使うことはほぼ無いと思います。
私は使ったことがありません。
使うとすれば、if文を使うことになることがほとんどです。

ただし、Java Silverを受験するのであれば出題される可能性のある内容なので、理解しておくようにしましょう。

Java Silverを受験する場合は、黒本がおすすめです。
十分な練習問題と本番試験相当の総仕上げ問題が2回分あり、試験対策はこれだけで充分です。
 

まとめ

  • if文は判定を行う。
  • if文は1行のみであればカッコを省略できるが、推奨はされていない。
  • elseを書かないコードは読みやすいので、できるようになることをお奨めする。
  • switchは特定のcaseへの入り口を判定する。
  • switchはbreakが無い場合、breakがあるまで後続のcaseを実行する。
    そのため、途中で処理を終了させたい場合、必ずbreakを入れるようにする。
    または、if文を使うようにする。

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-プログラミング, Java
-, , ,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

PHPerがJavaを学ぶ5つのメリット

PHPerである私が会社でJavaの研修担当となり、私自身も大学生以来のJavaを勉強しなおして感じたことを書いていきたいと思います。 対象読者 ・PHP初心者 ・なんとなくPHPで動くプログラムを書 …

kotlin,

【Kotlin】SpringのテストでUnsatisfiedDependencyExceptionが発生した場合の解消方法

概要 Qurifier指定をしたRepositoryをDIしたContollerをテストしたときにUnsatisfiedDependencyExceptionが発生した状況と解決方法です。 (参考書籍 …

ネストしたCollectionをflatmapで平坦化する例

概要 Java Goldの資格勉強をしていて、StreamのflatmapというメソッドでCollection等を平坦化(ネストした配列等を同階層の要素としてまとめること)の挙動で、3階層以上のネスト …

CompsiteパターンでHTMLタグを実現するには?

Compositeパターンに応用できそうなものとして、 HTMLタグなんかいいかと思いコーディングしてみました。   クラス図   説明 Compositeパターンは再帰構造を実現 …

【Java】文字列の完全一致と部分一致を判定する方法

Stringオブジェクトのmatches、containsメソッドを使った説明です。 戻り値:boolean ■追記(2022/5/4) ・前方一致にstartWithメソッドの用例 ・後方一致にen …

■運営者プロフィール
IT業界10年のエンジニア。
PHP -> VBA -> Javaと渡り歩いてきて、今はJavaをメインにフリーランスエンジニアとして活躍中!

[保有資格]
・Java SE 11 Gold

一度はエンジニアを辞めざるを得なかった私が再びエンジニアとして復活した数奇な物語

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。