広告

手を動かして学ぶ Java入門 (if文)

環境構築不要! ブラウザから直接コードを実行できます。
本記事では、Java の if文 について学びます。

10分くらいで、さくっと終わる記事をめざしています。


シリーズ一覧

  1. 手を動かして学ぶ Java入門 (Hello world 編)
  2. 手を動かして学ぶ Java入門 (数値と演算)
  3. 手を動かして学ぶ Java入門 (数値と変数)
  4. 手を動かして学ぶ Java入門 (コメントの書き方)
  5. 手を動かして学ぶ Java入門 (文と式の違い)
  6. 手を動かして学ぶ Java入門 (if文)
  7. 手を動かして学ぶ Java入門 (if-else文、if-elseif文)
  8. 手を動かして学ぶ Java入門 (文字列の連結)
  9. 手を動かして学ぶ Java入門 (while文)

続きは近日公開予定!

はじめに

この記事は paiza.IO の「Online Java compiler」を利用しています。
2024/9/13 現在、上記環境の Java バージョンは 18 です。(paiza.IO利用ガイド)

実行したコードは paiza.IO で保存および公開されることがあります。
そのため、個人情報などの機密性の高い情報は、コードとして入力しないようにご注意ください。

詳細は paiza.IO の利用規約およびプライバシーポリシーをご確認ください。

if文とは

if文(イフぶん、英: if statement)は、プログラミング言語において、真理値に従って「もし条件Cが満たされるならば、Xを実行せよ」というような条件付き実行の「文」で、制御構造のひとつである。

if文とは、プログラムを条件分岐させるための制御文です。

簡単にいうと

  • もし A なら B を処理する

というコードです。

【 if文のイメージ 】

フローチャート1

Java の if文は、次のように記述します。

if (条件式) {
    then文
}

これが基本の形となります。

  • 条件式を 満たすとき、then文 が実行されます。
  • 条件式を 満たさないとき、then文 は実行されません。

(ちなみに then文 の then は、英語の仮定法で使われる if ~ then ~ 構文からきています)

if文は「文」ですが、文末にセミコロン (;) は必要ありません。

それでは、プログラムで実際の動きを確認してみましょう。
コードは変更せずに、そのまま「実行(Ctrl-Enter)」ボタンを押してください。

(表示がおかしいときは「コードの再読み込み」ボタンを押してみてください)

いかがでしたでしょうか? 「出力」のところに

条件OK!
if文終了

と表示されたら成功です。

今度は a = 15 に書き換えて再度実行してみてください。
結果は変わりましたでしょうか?

if文終了

と表示されたら成功です。

コード解説

それでは、コードを少しずつ見ていきましょう。

int a = 5;
if (a < 10) {
    System.out.println("条件OK!");
}

条件式

最初は「条件式」ですね。

if (a < 10) {
    ^^^^^^ <--- 条件式
}

この a < 10 は、

  • 変数 a は 10 より小さいか?

という意味の「式」になります。

さて、前回の記事 では

  • 「式」は値を返す

と学びました。

では、この条件式は何を返すのでしょうか?

a < 10
^^^^^^ <--- 条件式

答えは 真偽値 になります。
(真理値や論理値ともいいます)

真偽値

真理値(しんりち、英: truth value)は、命題論理などの命題の真偽を示す値である。英語のTrueとFalseから、真に対してT、偽に対してFという記号をあてることもある。

真偽値とは

  • 真 (true)
  • 偽 (false)

の2つの値からなります。
Java では真偽値を boolean 型として扱います。

例えば、整数の int 型では 123 や -456, 999999 など無数の値をとります。
しかし boolean 型 は truefalse の2つだけしか値はありません。

// int型
int a = 123;
int b = -456;
int c = 999999;

// boolean型
boolean x = true;
boolean y = false;

真とか偽とかいわれても、あまりピンとこない…
そんなときは、

  • 真 (そうだよ!)
  • 偽 (違うよ!)

くらいの理解でも大丈夫です。

それでは、条件式 が本当に真偽値を返すのか実際に確認してみましょう。

(表示がおかしいときは「コードの再読み込み」ボタンを押してみてください)

  • 5 < 10 は真なので true
  • 15 < 10 は偽なので false

と表示されたら成功です。

比較演算子

さて、条件式をもう1度見てみましょう。

if (a < 10) {
    ^^^^^^ <--- 条件式
}

条件式の中に < 記号がありますね。

a < 10
  ^ <--- 比較演算子

この < 記号は「比較演算子」の1つです。

算数や数学では不等号として習ったかもしれません。
「大なり」「小なり」とかですね。

比較演算子を使った演算では、結果として 真偽値 を返します。

【比較演算子の一覧】

Java で使える主な比較演算子をご紹介します。

比較演算子 意味
== a == b a と b が等しい
!= a != b a と b が等しくない
< a < b a より b が大きい
> a > b a より b が小さい
<= a <= b a より b が大きい、または等しい
>= a >= b a より b が小さい、または等しい

等しいを意味する比較演算子は == です。
イコール記号を2つ使います。

= だと「代入」となり、別の意味になるのでご注意ください。

(表示がおかしいときは「コードの再読み込み」ボタンを押してみてください)


then文

続いて、then文について見ていきましょう。

if (条件式) {
    then文
}

if文の中括弧 { ... } で囲まれたところが then文になります。

if (...) {
    System.out.println("条件OK!");
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ <--- then文
}

if文の条件式が 真(true) を返すときに、then文が実行されます。
偽(false) を返すと then文は実行されません。

ちなみに、then文は複数書くこともできます。

if (...) {
    then文
    then文
    then文
    ・
    ・
    ・
}

実際にコードを動かして確認してみましょう。

(表示がおかしいときは「コードの再読み込み」ボタンを押してみてください)

応用問題

【問題】

プログラムを実行すると、

OK-1
OK-2

と「出力」へ表示されるように、変数 ab を適切な数値で初期化してください。
(# になっているところを数値に書き換えてください)

int a = #;
int b = #;
        ^ <--- この部分!

それでは、下のプログラムの # を数値に書き換えて「実行(Ctrl-Enter)」してみましょう。

(表示がおかしいときは「コードの再読み込み」ボタンを押してみてください)

無事に、

OK-1
OK-2

と出力されましたでしょうか?

もし解けなかった場合は、下記の回答例をご参照ください。

回答例

【コード】

public class Main {
    public static void main(String[] args) {
        int a = 6;
        int b = 10;
        
        if (a > 5) {
            if (b == 10) {
                System.out.println("OK-1");
            }
            if (a <= 6) {
                System.out.println("OK-2");
            }
        }
    }
}

【出力】

OK-1
OK-2

まとめ

Java の if文は、次のように記述します。

if (条件式) {
    then文
}
  • 条件式を 満たすとき、then文 が実行されます。
  • 条件式を 満たさないとき、then文 は実行されません。

プログラミングにおいて、if文はなくてはならない制御文の1つです。
ぜひ有効に使いこなしていきたいですね。

もう少し詳しいことは「if文の基本 (文法)」の記事でも解説しています。
興味がありましたら、そちらもぜひご参照ください。

次回は「手を動かして学ぶ Java入門 (if-else文、if-elseif文)」になります。


関連記事

  1. 手を動かして学ぶ Java入門 (Hello world 編)
  2. 手を動かして学ぶ Java入門 (数値と演算)
  3. 手を動かして学ぶ Java入門 (数値と変数)
  4. 手を動かして学ぶ Java入門 (コメントの書き方)
  5. 手を動かして学ぶ Java入門 (文と式の違い)
  6. 手を動かして学ぶ Java入門 (if文)
  7. 手を動かして学ぶ Java入門 (if-else文、if-elseif文)
  8. 手を動かして学ぶ Java入門 (文字列の連結)
  9. 手を動かして学ぶ Java入門 (while文)
ページの先頭へ