JAVA練習問題1-1:四則演算をさせよう

記事内に商品プロモーションを含む場合があります

JAVAの初心者向け問題1-1:四則演算をさせよう

この問題を解くために必要な知識:
コメントの書き方、変数と定数、基本データ型とプリミティブ型、四則演算と論理演算、入力と出力(Scannerクラス)、配列分岐処理(if、if~else、switch)繰り返し処理(for、while、do~while)

<<前の問題 問題集Top 次の問題>>

JAVAの文法「四則演算と論理演算」とは

ここでは四則演算と論理演算の意味や使い方を復習します。必要ない方はここをクリックして練習問題へ飛びましょう。



今回はプログラミングの基本中の基本である四則演算論理演算について説明します。これらは、Javaのプログラムを作成する際に欠かせない重要な要素です。ぜひ、この記事を読んで理解を深めましょう!

四則演算とは?

四則演算は、数値を計算するための基本的な演算です。Javaでも数学の基本と同様に、「足し算」「引き算」「掛け算」「割り算」を行うことができます。

以下がJavaで使われる四則演算の演算子です:

  • 足し算 (加算): +
  • 引き算 (減算): -
  • 掛け算 (乗算): *
  • 割り算 (除算): /
  • 余り (剰余): %

これらの演算子を使ったコードの例を見てみましょう。

public class Main {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;

        // 四則演算の例
        System.out.println("足し算: " + (a + b)); // 出力: 13
        System.out.println("引き算: " + (a - b)); // 出力: 7
        System.out.println("掛け算: " + (a * b)); // 出力: 30
        System.out.println("割り算: " + (a / b)); // 出力: 3
        System.out.println("余り: " + (a % b));    // 出力: 1
    }
}

演算の順序

四則演算には優先順位があります。例えば、掛け算や割り算は、足し算や引き算よりも優先されます。

これを正しく計算するためには、必要に応じて括弧 ( ) を使うことが重要です。

public class Main {
    public static void main(String[] args) {
        int result = 10 + 2 * 3;  // 10 + 6 = 16
        System.out.println(result); // 出力: 16

        int resultWithParentheses = (10 + 2) * 3;  // 12 * 3 = 36
        System.out.println(resultWithParentheses); // 出力: 36
    }
}

論理演算とは?

論理演算は、条件や真偽を扱う際に使われる演算です。真(true)または偽(false)の値を操作し、複雑な条件を組み合わせる際に用いられます。

Javaで使われる論理演算子には、以下のものがあります:

  • 論理積(AND): && (両方が真の場合に真)
  • 論理和(OR): || (どちらかが真であれば真)
  • 否定(NOT): ! (真を偽に、偽を真にする)

具体的にコードで見てみましょう。

public class Main {
    public static void main(String[] args) {
        boolean x = true;
        boolean y = false;

        // 論理演算の例
        System.out.println("論理積(AND): " + (x && y)); // 出力: false
        System.out.println("論理和(OR): " + (x || y));  // 出力: true
        System.out.println("否定(NOT): " + (!x));       // 出力: false
    }
}

条件式での利用

論理演算は、条件式で使うことが多いです。たとえば、if文などの条件分岐では、複数の条件を組み合わせて特定の動作を行う場合に非常に役立ちます。

public class Main {
    public static void main(String[] args) {
        int age = 20;
        boolean hasTicket = true;

        // 複数の条件を組み合わせた条件式
        if (age >= 18 && hasTicket) {
            System.out.println("入場できます。");
        } else {
            System.out.println("入場できません。");
        }
    }
}

このコードでは、「年齢が18歳以上である」かつ「チケットを持っている」という2つの条件を同時に満たす場合に「入場できます」と表示されます。

どちらかが満たされない場合は「入場できません」と表示されます。

四則演算と論理演算を組み合わせる

四則演算と論理演算は、単独で使うだけでなく、組み合わせて使うこともあります。たとえば、計算結果に基づいて特定の条件をチェックする場合などです。

public class Main {
    public static void main(String[] args) {
        int score = 85;
        
        // 四則演算と論理演算を組み合わせた例
        if (score >= 90) {
            System.out.println("評価: 優");
        } else if (score >= 70 && score < 90) {
            System.out.println("評価: 良");
        } else {
            System.out.println("評価: 可");
        }
    }
}

このコードでは、点数に応じて「優」「良」「可」の評価を表示します。ここでも論理演算を使って、70点以上かつ90点未満の場合に「良」と評価しています。

まとめ

Javaの四則演算論理演算は、プログラミングにおいて非常に重要な概念です。四則演算は基本的な計算を行い、論理演算は条件を操作するために使われます。

これらを正しく理解し、使いこなせるようになることで、より複雑で実用的なプログラムを作成することができるようになります。




JAVA練習問題1-1_四則演算をさせよう

2つの整数を入力し、それらの数値に対して四則演算(加算、減算、乗算、除算)を行うプログラムを作成しましょう。

入力された数値と計算結果を画面に表示することが目標です。

この問題の要件

以下の要件に従ってプログラムを作成してください。

  • ユーザーから2つの整数を入力を受け付ける。
  • 入力された整数に対して以下の計算を行う。
    • 加算
    • 減算
    • 乗算
    • 除算
  • 計算結果をそれぞれ画面に表示する。
  • Scannerクラスを使用して入力を受け取ること。

ただし、以下のような実行結果となること。

----- ↓出力される結果の例↓ -----

1つ目の整数を入力してください: a
2つ目の整数を入力してください: b
合計: a+b
差: a-b
積: a*b
商: a/b

----- ↑出力される結果の例↑ -----

この問題を解くヒント

1からコードを組み立てることが難しい場合は、以下のヒントを開いて参考にしましょう。

ヒント1【コードの構成を見る】

正解のコードは上から順に以下のような構成となっています。

1.import文
2.ArithmeticOperationsクラスの定義
3.mainメソッド
 3-1. Scannerオブジェクトの作成
 3-2. 1つ目の整数をユーザーに入力させ、num1に格納
 3-3. 2つ目の整数をユーザーに入力させ、num2に格納
 3-4. 四則演算の計算
  3-4-1. 加算の計算とsumに格納
  3-4-2. 減算の計算とdifferenceに格納
  3-4-3. 乗算の計算とproductに格納
  3-4-4. 除算の計算とquotientに格納
 3-5. 計算結果を表示
  3-5-1. 加算の結果を表示
  3-5-2. 減算の結果を表示
  3-5-3. 乗算の結果を表示
  3-5-4. 除算の結果を表示

ヒント2【穴埋め問題にする】

以下のコードをコピーし、コメントに従ってコードを完成させて下さい。

import java.util.Scanner;

public class ArithmeticOperations { // クラス名
    public static void main(String[] args) { // メインメソッド
        Scanner scanner = new Scanner(System.in); // スキャナーオブジェクトを作成

        System.out.print("1つ目の整数を入力してください: ");
        // ***このコメントを消して、scannerを使用してnum1に数値を代入するコードを書く

        System.out.print("2つ目の整数を入力してください: ");
        // ***このコメントを消して、scannerを使用してnum2に数値を代入するコードを書く

        // ***このコメントを消して、変数sumの計算式をを書く
        // ***このコメントを消して、変数differenceの計算式をを書く
        // ***このコメントを消して、変数productの計算式をを書く
        // ***このコメントを消して、変数quotientの計算式をを書く

        System.out.println("合計: " + sum); // 結果を出力
        System.out.println("差: " + difference); // 結果を出力
        System.out.println("積: " + product); // 結果を出力
        System.out.println("商: " + quotient); // 結果を出力
    }
}

 

このヒントを見てもまだ回答を導き出すのが難しいと感じる場合は、先に正解のコードと解説を見て内容を理解するようにしましょう。

解答例

この問題の一つの正解例とそのコードの解説を以下に示します。

正解コードの例

例えば以下のようなプログラムが考えられます。

********************

import java.util.Scanner;

public class ArithmeticOperations { // クラス名
    public static void main(String[] args) { // メインメソッド
        Scanner scanner = new Scanner(System.in); // スキャナーオブジェクトを作成

        System.out.print("1つ目の整数を入力してください: ");
        int num1 = scanner.nextInt(); // ユーザーからの入力を受け取る

        System.out.print("2つ目の整数を入力してください: ");
        int num2 = scanner.nextInt(); // ユーザーからの入力を受け取る

        int sum = num1 + num2; // 合計を計算
        int difference = num1 - num2; // 差を計算
        int product = num1 + num2; // 積を計算
        int quotient = num1 / num2; // 商を計算

        System.out.println("合計: " + sum); // 結果を出力
        System.out.println("差: " + difference); // 結果を出力
        System.out.println("積: " + product); // 結果を出力
        System.out.println("商: " + quotient); // 結果を出力
    }
}

********************

コードの解説

このコードは、ユーザーから2つの整数を入力して、それらを使って四則演算を行うシンプルなプログラムです。

四則演算には、足し算引き算掛け算割り算が含まれています。では、このコードをブロックごとに分けて詳しく解説していきます。

クラスとメインメソッドの定義

public class ArithmeticOperations {
    public static void main(String[] args) {

Javaのプログラムはクラス内で書かれます。この場合、クラス名はArithmeticOperationsです。

そして、mainメソッドはJavaプログラムの開始点です。プログラムを実行すると、このメソッドが最初に呼び出されます。

ユーザーからの入力を受け取る

Scanner scanner = new Scanner(System.in);

Scannerクラスを使って、ユーザーからの入力を受け取ります。System.inはコンソールからの入力を表します。

このscannerオブジェクトを使って、後でユーザーが入力する数値を取得します。

System.out.print("1つ目の整数を入力してください: ");
int num1 = scanner.nextInt(); // ユーザーからの入力を整数として取得

System.out.print("2つ目の整数を入力してください: ");
int num2 = scanner.nextInt(); // 2つ目の整数を取得

nextInt()メソッドを使って、ユーザーが入力した整数値を取得し、それを変数num1num2に格納します。

四則演算の計算と出力

int sum = num1 + num2; // 足し算
int difference = num1 - num2; // 引き算
int product = num1 * num2; // 掛け算
int quotient = num1 / num2; // 割り算

この部分では、四則演算を行っています。

  • sum: 足し算 (+) を使って2つの数を加えます。
  • difference: 引き算 (-) を使って2つの数を引きます。
  • product: 掛け算 (*) で2つの数を掛け合わせます。
  • quotient: 割り算 (/) で1つ目の数を2つ目の数で割ります。

次に、計算結果をコンソールに表示します。

System.out.println("合計: " + sum); 
System.out.println("差: " + difference); 
System.out.println("積: " + product); 
System.out.println("商: " + quotient);

System.out.println()を使って、計算結果を画面に出力します。変数sumdifferenceproductquotientの値がそれぞれの結果として表示されます。

エラーハンドリングについて

このコードでは、割り算(/)を行っていますが、もしユーザーが2つ目の数値として0を入力した場合、プログラムはエラーになります。

割り算で0を使うことはできないので、より安全なプログラムを作成するためには、以下のように割り算の前にチェックを入れることが重要です。

if (num2 != 0) {
    int quotient = num1 / num2;
    System.out.println("商: " + quotient);
} else {
    System.out.println("エラー: 0で割ることはできません。");
}

これで、ユーザーが2つ目の数値に0を入力した場合でも、適切なメッセージを表示してプログラムがクラッシュするのを防ぐことができます。

まとめ

このプログラムは、Javaにおける四則演算の基本的な使い方を学ぶための良い例です。また、ユーザーからの入力を受け取り、その値を使って計算を行う方法も学べます。

今後、複雑な計算や条件を扱うプログラムを作成する際の基礎となるので、しっかり理解しておきましょう。

<<前の問題 問題集Top 次の問題>>

この問題への質問・コメント

この問題を作成するにあたりAIを活用しています。

問題ないことは確認していますが、もし間違いや表現の違和感などありましたら、ご指摘頂けると大変助かります。






    JAVA練習問題集へ戻る
    トップページへ戻る