ifを極める!複数条件での分岐や三項演算子。ifを極める!複数条件での分岐や三項演算子。ifを極める!複数条件での分岐や三項演算子。初心者向けこの記事では、JavaにおけるIf文の使い方を応用的な例も交えながら説明していく。If文はその名の通り「もしもこの値がこうならこのアクションを行え」といった「条件に基づく指示」をおこなうための構文。If文を始めとする「条件分岐」はプログラムの中でよく使われる重要な要素なので確実に抑えておこう。この記事では、以下のような人たちを対象としている。プログラミング未経験でJavaの基礎的な使い方を勉強したい人プログラミングの知識はあるがJavaでのif文の使い方を確認したい人Javaを使った業務経験は充分にあるが自分の知識を整理したい人この記事では、複数条件での条件分岐や三項演算子と呼ばれるif文の省略系も紹介するので、中級者の人も最後まで目を通してみてほしい。UgoCompiler当サイトでは、自作のJavaCompiler「UgoCompiler」を用意している。UgoCompilerを使えばオンライン上で気軽に自分の書いたコードを実行することができる。(下の写真をクリックすると新しいタブで開きます。三項演算子を使った記述Javaのif文の使い方では、if文の使い方を勉強していこう。条件分岐はプログラミングにおいて核をなすオペレーション。コードの書き方は異なるもののどのプログラミング言語にもif文は存在する。if(もし〜ならば)まずは以下のコードに目を通してほしい。System.out.println("18歳以下の方は登録できません。}}このごくシンプルなif文を使ったプログラムの例だ。ここではユーザの年齢をチェックし、もし18歳未満であれば指定した文字列を表示するという内容になっている。変数ageの値を18以上に設定すると文字は表示されなくなるはずなので、試してみてほしい。()の中には条件、{}の中にアクションを記述する。文でいうと「もし()なら{}を実行せよ」となる。>などの演算子について復習したい人はこちらの記事を読んでほしい。波カッコ内の実行するコードが1行のみである場合は波カッコ{}は省略できる。System.out.println("18歳以下の方は登録できません。");else(それ以外の場合は)もし上記のコードにおいて年齢が19歳以上の場合もなにかテキストを表示したい時はどうすればいいだろうか?ここで使うのがelseである。elseを使えばifの条件に当てはまらなかった場合のアクションを指定することができる。日本語でいうならば「それ以外の場合は」となる。{System.out.println("18歳未満の方は登録できません。{System.out.println("登録します。年齢が18歳以上の場合はこちらのコードが実行される}変数ageの値を18以上に指定して文字が出力されか確認してみよう。ifは日本語でいうと「(ひとつ目の条件)ではなく〜なら」となる。ifは必ずif文の後に使われる。今までの条件に加え「18歳以上であっても20歳未満であれば親の同意が必要」という条件が加わった場合を例にして考えてみよう。ifを使い前章のコードに付け加えると次のようになる。{System.out.println("18歳未満の方は登録できません。{System.out.println("登録するには親の同意が必要です。{System.out.println("登録します。年齢が18歳以上の場合はこちらのコードが実行される}これも変数ageの値を18や19にして、思った通りにプログラムが動作するか確認しよう。上記のコードは以下のように書き換えることもできる。他にもどのような書き方ができるか考えてみるもいいトレーニングになるだろう。System.out.println("登録します。System.out.println("登録するには親の同意が必要です。System.out.println("18歳未満の方は登録できません。前章では数値型の変数を用いてif文の使用方法を説明した。ブール型や文字型といったJavaで使用できるその他のデータ型をif文の条件として使用することもできる。ここでは、他の例を見ていこう。boolean型を使った例まずは実践においてもっともよく使用されるboolean型を用いたif文を見てみよう。以下のコードではユーザが登録済みのユーザかどうかを確認して結果に基づきテキストを表示している。System.out.println("ログインして下さい。System.out.println("会員登録して下さい。}変数isRegisteredがtrueであればログインを促すメッセージが、falseであれば会員登録を促すメッセージが表示される。TRUE)と同じ意味である。boolean型は変数の前に!を付ければ真逆の条件として使用できる。FALSE)と同じということになる。次にString型を使った例を見ていこう。こちらも実践でよく使われるパターンだ。"これはサンプルテキストです。System.out.println("サンプルという文字を含みます。System.out.println("サンプルという文字を含みません。}上の例では、変数textに指定した文字列「サンプル」が含まれるかどうかを条件としている。変数textの文字列を変更してみて、正しいテキストが出力されるかどうか確認してみよう。Stringの文字列が完全に一致するかチェックしたい場合はequalsメソッドを使おう。次に複数の条件を持つif文の例を見ていこう。複数の条件を持つif文にはANDとORの2つのタイプがある。ANDを使った複数条件JavaではAND条件は&&を使って示す。System.out.println("条件に当てはまります。System.out.println("条件に当てはまりません。}conditionA・conditionBの両方がtrueだった時のみに「条件に当てはまります。」が出力されるはずなのでbooleanの値を変えて試してみてほしい。ORを使った複数条件JavaではOR条件は||を使って示す。System.out.println("条件に当てはまります。System.out.println("条件に当てはまりません。");}この場合はconditionA・conditionBのいずれかがtrueであれば「条件に当てはまります。」が出力されるはずだ。次にひとつの条件式にANDとORが混同するパターンを考えてみよう。System.out.println("条件に当てはまります。System.out.println("条件に当てはまりません。}このようなANDとORが混同する式では、どの組み合わせで条件が満たされるのかが分かりにくい。いった場合は、通常の数学式と同様に丸カッコを使って数式のまとまりを指定することができる。簡単な条件文は三項演算子と呼ばれる省略した書式を用いて条件型のコードを記述することもできる。効率的に使えばコードの読みやすさを格段に高めることができるので、ぜひ使い方を覚えておいてほしい。三項演算子の記述は以下のようになる。System.out.println("条件に当てはまります。System.out.println("条件に当てはまりません。}上記のif・elseを使った5行の条件式が三項演算子を使うと以下のように一行で書けてしまう。"条件に当てはまります。"条件に当てはまりません。");上記の例では、2行目で三項演算子を使い年齢に応じた料金を取得して、3行目でそれを出力している。執筆者:久野嘉樹ドイツ・ベルリン在住のフロントエンド・エンジニア。ドイツにてプログラマのための職業訓練プログラム(インターン2社を含む)を終了したのち、医療関係のソフトウェア会社にてフルスタック・エンジニアとして、様々な開発現場に参加する。現在はドイツの大手SIerにてシニアデベロッパーとして有名企業を顧客とする大規模開発に従事する。Java・TypeScriptをメインに業務管理ソフト・ウェブアプリケーションやAndroidアプリなどの開発経験を持つ。現在はSPA(シングルページアプリケーション)のスペシャリストとしてAngularをメインにフロントエンドの開発に携わる。2009年よりドイツに在住。ドイツ語能力はC1レベル。関連する記事Javaのfor文と拡張for文を学ぶ!処理のスキップや中断の方法も紹介。while文はこちらの記事で説明しているので参考にして[...]JavaのコメントとJavaDocの書き方!複数行のコメントアウトも解説。2021.07.04この記事では、Javaにおけるコメントの種類や書き方。Javaの長所のひとつであるJavaDocについて解説する。caseを使いこなす!Java12以降の新しい記述も解説。2021.05.20この記事では、Javaのswitch構文の使い方をサンプルのコードともに説明していく。【2023年】TypeScriptのおすすめ書籍5冊!レベル別に入門書からプロ向けまで紹介。2023.05.14【2023年】JavaScriptのおすすめ本7選!入門者・初心者向けにセレクト。2023.03.04HTMLテーブルで表をデザインする!セルの結合・枠線を付ける・レスポンシブ対応など。2023.01.21CSSグリッドレイアウトを極める!基本的な使い方とプロパティの一覧。2023.01.07【2023年】人気のヘッドレスCMSを徹底比較!Contentful・Strapi・Hygraphなど。JSフレームワーク徹底比較!JavaScript実践VSCodeでReactの開発を行う!React開発者のためのオススメ拡張機能。同一オリジンポリシーを理解する。APIコラム海外エンジニアエンジニア論PC。