Java の if 文とは?条件によって処理を分ける方法
新人
「Java で条件によって動作を変える方法はありますか?」
先輩
「あるよ!Java では if 文 を使うことで、条件に応じた処理を実行できるんだ。」
新人
「if 文ってどんなものですか?」
先輩
「if 文を使うと、例えば点数が 80 点以上なら「合格」と表示するといった条件分岐ができるよ。具体的に説明していこう!」
1. if 文とは?(基本的な説明)
Java の if 文 は、特定の条件を満たした場合にだけ処理を実行するための制御文です。
if 文の特徴
- 条件が true(真) の場合に、指定した処理を実行する
- 条件が false(偽) の場合は、処理をスキップする
- プログラムの流れを制御できるので、分岐処理を実装できる
例えば、「もしお店が開いていたら、買い物をする」というような状況をプログラムで表現できます。
2. if 文の基本的な書き方(条件による分岐)
if 文を使って、条件に応じた処理を実行する基本的な書き方を見てみましょう。
if 文の基本構文
public class IfExample {
public static void main(String[] args) {
int score = 85;
if (score >= 80) { // もし score が 80 以上なら
System.out.println("合格です!");
}
}
}
合格です!
このプログラムでは、変数 score の値が 80 以上なら「合格です!」と表示されます。
if 文のポイント
- if の後に条件を書く(例:
if (score >= 80)) - { }(ブロック)内に、実行する処理を書く
- 条件を満たさなかった場合は、処理は実行されない
例えば、score の値が 70 の場合、条件 score >= 80 は false になるので、何も表示されません。
3. if 文で数値の条件を判定する(例:点数による評価)
if 文を使って、数値を条件にして処理を実行することができます。例えば、テストの点数が一定以上なら「合格」と表示するプログラムを作ってみましょう。
数値を判定する if 文の例
public class ScoreCheck {
public static void main(String[] args) {
int score = 90;
if (score >= 80) { // 80点以上なら
System.out.println("合格です!");
}
}
}
合格です!
このプログラムでは、変数 score の値が 80 以上であれば、「合格です!」と表示されます。
数値判定の応用例
年齢によって「成人」かどうかを判定するプログラムも作ることができます。
public class AgeCheck {
public static void main(String[] args) {
int age = 20;
if (age >= 18) { // 18歳以上なら
System.out.println("あなたは成人です。");
}
}
}
あなたは成人です。
このように、if 文を使うことで数値の条件に応じた処理を簡単に書くことができます。
4. if 文で文字列の条件を判定する(例:"yes" なら実行)
if 文は、数値だけでなく、文字列の条件を判定することもできます。例えば、ユーザーの入力が「yes」なら「実行します」と表示するプログラムを作ってみましょう。
文字列を判定する if 文の例
import java.util.Scanner;
public class StringCheck {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("続行しますか? (yes/no): ");
String input = scanner.nextLine();
if (input.equals("yes")) { // 入力が "yes" なら
System.out.println("実行します。");
}
scanner.close();
}
}
続行しますか? (yes/no): yes
実行します。
このプログラムでは、Scanner を使ってユーザーの入力を受け取り、入力が「yes」なら「実行します」と表示します。
文字列の比較で注意すること
- 文字列の比較には
==ではなくequals()を使う input.equals("yes")のように書くことで、正しく比較できる
5. if 文の中で比較演算子(==, >, <, >=, <=)を使う方法
if 文では、比較演算子を使って条件を作ることができます。比較演算子には以下の種類があります。
主な比較演算子
==… 左右の値が等しい場合にtrue!=… 左右の値が異なる場合にtrue>… 左の値が右の値より大きい場合にtrue<… 左の値が右の値より小さい場合にtrue>=… 左の値が右の値以上の場合にtrue<=… 左の値が右の値以下の場合にtrue
比較演算子を使った if 文の例
public class ComparisonExample {
public static void main(String[] args) {
int a = 10;
int b = 20;
if (a < b) { // a が b より小さいなら
System.out.println("a は b より小さいです。");
}
if (a != b) { // a と b が異なるなら
System.out.println("a と b は異なります。");
}
}
}
a は b より小さいです。
a と b は異なります。
比較演算子を使った応用例
入力された数値が偶数か奇数かを判定するプログラムを作ってみましょう。
import java.util.Scanner;
public class EvenOddCheck {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("数値を入力してください: ");
int number = scanner.nextInt();
if (number % 2 == 0) { // 2 で割った余りが 0 なら偶数
System.out.println("偶数です。");
}
if (number % 2 != 0) { // 2 で割った余りが 0 でないなら奇数
System.out.println("奇数です。");
}
scanner.close();
}
}
数値を入力してください: 5
奇数です。
このように、比較演算子を使うことでさまざまな条件を判定し、プログラムの動作を変更できます。
6. if 文で論理演算子(&&, ||)を使う方法(複数の条件をチェック)
if 文では、論理演算子を使うことで、複数の条件を組み合わせて判定できます。論理演算子には、次の 2 つの種類があります。
論理演算子の種類
- &&(かつ) … 両方の条件が
trueなら実行される - ||(または) … どちらかの条件が
trueなら実行される
&&(かつ)を使った if 文の例
public class AndOperatorExample {
public static void main(String[] args) {
int score = 85;
int attendance = 90;
if (score >= 80 && attendance >= 75) {
System.out.println("試験合格 & 出席基準クリア!");
}
}
}
試験合格 & 出席基準クリア!
||(または)を使った if 文の例
public class OrOperatorExample {
public static void main(String[] args) {
int temperature = 35;
boolean isSunny = true;
if (temperature > 30 || isSunny) {
System.out.println("暑いので外出は気をつけて!");
}
}
}
暑いので外出は気をつけて!
このように、&& や || を使うことで、複雑な条件分岐を表現することができます。
7. if 文を使った応用例(ユーザーの入力による判定)
if 文を使って、ユーザーの入力に応じた処理を実行するプログラムを作ってみましょう。
ユーザーの年齢を判定するプログラム
import java.util.Scanner;
public class AgeVerification {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("年齢を入力してください: ");
int age = scanner.nextInt();
if (age >= 20) {
System.out.println("あなたは成人です。");
}
if (age < 20) {
System.out.println("あなたは未成年です。");
}
scanner.close();
}
}
年齢を入力してください: 18
あなたは未成年です。
ユーザーの入力が "yes" かどうかを判定する
import java.util.Scanner;
public class YesNoCheck {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("続行しますか? (yes/no): ");
String input = scanner.nextLine();
if (input.equals("yes")) {
System.out.println("プログラムを続行します。");
}
scanner.close();
}
}
続行しますか? (yes/no): yes
プログラムを続行します。
このように、ユーザーが入力した値に応じてプログラムの処理を変えることができます。
8. 練習問題:if 文を使ったプログラムを作ろう
if 文の理解を深めるために、次のようなプログラムを作ってみましょう。
練習問題 1: 点数の判定
ユーザーに点数を入力してもらい、80 点以上なら「合格です!」と表示するプログラムを作りましょう。
import java.util.Scanner;
public class ScoreCheck {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("点数を入力してください: ");
int score = scanner.nextInt();
if (score >= 80) {
System.out.println("合格です!");
}
scanner.close();
}
}
練習問題 2: 温度によるアドバイス
ユーザーに現在の気温を入力してもらい、30 度以上なら「暑いので水分補給を忘れずに!」と表示するプログラムを作りましょう。
import java.util.Scanner;
public class TemperatureCheck {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("現在の気温を入力してください: ");
int temperature = scanner.nextInt();
if (temperature >= 30) {
System.out.println("暑いので水分補給を忘れずに!");
}
scanner.close();
}
}
練習問題 3: 偶数・奇数の判定
ユーザーが入力した数値が偶数か奇数かを判定するプログラムを作りましょう。
import java.util.Scanner;
public class EvenOddCheck {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("数値を入力してください: ");
int number = scanner.nextInt();
if (number % 2 == 0) {
System.out.println("偶数です。");
}
if (number % 2 != 0) {
System.out.println("奇数です。");
}
scanner.close();
}
}
数値を入力してください: 7
奇数です。
このように、if 文を使ってさまざまな判定を行うプログラムを作ることができます。
Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。
スッキリわかるJava入門 第4版をAmazonで見る※ Amazonアソシエイト・プログラムを利用しています