Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaのif…else文入門:初心者向けわかりやすいガイド

私たちの生活には、実はたくさんの「もしも」があります。スーパーが開いていれば買い物に入れるし、閉まっていれば入れません。正午になれば、お昼休みの時間です。

プログラムも、私たちと同じように「もしも」に頼っています。プログラミングでは、この「もしも」を条件分岐(条件文)と呼びます。条件文を使うことで、特定の条件が満たされているかどうかに応じて、コードブロックを実行したりスキップしたりできます。

このガイドでは、Javaにおけるif文の仕組みと、その有用性について解説します。実際のコード例を通して、動作を確認していきましょう。

if文とは

プログラムの中で、特定のコード行を実行したくない場面はよくあります。そんなときに役立つのが条件分岐のロジックです。if文を使えば、式を評価し、その結果に応じてコードブロックを実行するかどうかを制御できます。

if文は、Boolean(ブール)式がtrueかfalseかを評価します。式がtrueであればコードが実行され、falseであれば何も起こりません。なお、if文は「制御フロー文」と呼ばれることもあります。

それでは、新しいJavaファイルを開いて、次のコードを貼り付けてみましょう。

class MenuPrices {
	public static void main(String[] args) {
		String order = "Ham Sandwich";

		if (order.equals("Ham Sandwich")) {
			System.out.println("The price of a " + order + " is $1.95.");
		}
		System.out.println("Done");
	}
}

このコードでは、orderという変数を定義し、文字列値「Ham Sandwich」を格納しています。続いてif文を使い、orderが「Ham Sandwich」と等しいかどうかをチェックします。等しければ、ハムサンドイッチの価格が出力されます。

このJavaプログラムを開発環境で実行すると、次のような出力が得られます。

The price of a Ham Sandwich is $1.95.
Done

指定した注文が「Ham Sandwich」だったため、該当するコード行が実行されました。今度は注文をチキンサンドイッチに変更してみましょう。

String order = "Chicken Mayo Sandwich";

if (order.equals("Ham Sandwich")) {
	System.out.println("The price of a " + order + " is $1.95.");
}

System.out.println("Done");

今度の出力結果は「Done」だけです。if文の中身は実行されませんでした。これは、条件である「orderがHam Sandwichと等しいこと」が満たされなかったためです。

if…else文

if文は便利ですが、条件がtrueと評価されなかった場合に別の処理を行いたいときはどうすればよいのでしょうか。そこで登場するのが、その名の通りJavaのif…else文です。

例えば、入力された注文がメニューに見つからない場合に「This item is not on the menu.」と出力したいとしましょう。これを実現するには、コードにelseブロックを追加します。

String order = "Chicken Mayo Sandwich";

if (order.equals("Ham Sandwich")) {
	System.out.println("The price of a " + order + " is $1.95.");
} else {
	System.out.println("This item is not on the menu.");
}

System.out.println("Done");

式がfalseと評価された場合、else文の中身が実行されます。プログラムを保存して実行すると、次のように表示されます。

This item is not on the menu.
Done

注文を再び「Ham Sandwich」に戻せば、先ほどの例と同じ出力が返されます。

else if文

if…else文で扱えるのは、「条件が満たされる」か「満たされないか」の2つの結果だけです。より多くの条件を評価したい場合は、else ifという文を使用します。

例えば、プログラムで3種類のサンドイッチをチェックしたいとしましょう。それぞれの価格は以下の通りです。

  • ハムサンドイッチ:$1.95
  • チキンマヨサンドイッチ:$2.20
  • スモークサーモンサンドイッチ:$3.00

これらに対応させるため、else if文を追加していきます。

String order = "Chicken Mayo Sandwich";

if (order.equals("Ham Sandwich")) {
	System.out.println("The price of a " + order + " is $1.95.");
} else if (order.equals("Chicken Mayo Sandwich")) {
	System.out.println("The price of a " + order + " is $2.20.");
} else if (order.equals("Smoked Salmon Sandwich")) {
	System.out.println("The price of a " + order + " is $3.00.");
} else {
	System.out.println("This item is not on the menu.");
}

System.out.println("Done");

これで、プログラムは複数の条件に対応できるようになりました。上記のプログラムを実行すると、次のような出力が得られます。

The price of a Chicken Mayo Sandwich is $2.20.
Done

order変数の値を「Smoked Salmon Sandwich」に変更して、もう一度プログラムを実行してみましょう。

The price of a Smoked Salmon Sandwich is $3.00.
Done

ご覧のとおり、プログラムは複数の異なる条件を評価できるようになりました。条件はいくらでも追加可能です。例えばカフェを経営しているなら、販売しているサンドイッチの種類に合わせて、10個の条件を用意することもあるでしょう。

まとめ(とチャレンジ)

if文を使うことで、プログラムの流れをより効果的に制御できます。if文の中のコードは、指定した条件がtrueの場合にのみ実行されます。else if文を使えば複数の条件のいずれかが満たされているかをチェックでき、else文を使えばどの条件も満たされなかった場合の処理を記述できます。

最後にチャレンジです。テストの点数に基づいて、学生の成績を判定するプログラムを書いてみましょう。参考までに、成績の基準は以下の通りです。

  • 85以上:A
  • 75以上:B
  • 65以上:C
  • 50以上:D
  • 50未満:F

これであなたも、プロのようにJavaでif文を書く準備が整いました!

  1. Javaコンパイラ入門:仕組みの解説と初心者におすすめのオンラインIDE

    5〜10年前、Javaを学ぶのは今ほど手軽なことではありませんでした。当時は、コンパイラとインタプリタを含むJava Development Kit(JDK)をダウンロードし、自分のマシン上で実行環境を整える必要がありました。しかし現在では、無料で利用できるJavaコンパイラがオンライン上に数多く存在します。この記事では、Java言語のコンパイルの仕組みと、練習やプロジェクト作成に活用できるオンラインツールについて詳しく解説します。 Javaプログラムはどのように実行されるのか? Javaは完全なコンパイル型言語ではありません。しかし、かといって完全なインタプリタ型言語でもありません。 ここ

  2. 初心者向けLLDBガイド:基本コマンドとエラーの解決方法

    コマンドラインの操作スキルと、基礎から高度なスクリプト言語の知識を活かして、プロの開発者は素晴らしいアプリやソフトウェアを作り上げます。しかし、動作するアプリが完成した時点で仕事は終わりではありません。ユーザー体験に影響を及ぼす可能性のあるエラーやバグを見つけるために、コードをさらに掘り下げる必要があります。そこで活躍するのがLLDBです。LLDBとは一体何なのでしょうか? LLDBとは? LLDBコマンドの詳細に入る前に、まず開発全体の流れをおさらいしましょう。そうすることで、開発者の仕事への理解がより深まります。 コーディングの経験は、長い旅のようなものです。コードを書き終えると、いよいよ