【Java】レッスン1-3:四則演算をしよう~算術演算子入門~

ながみえ

一つ前のページでは変数と定数について学習しました。

今回は 算術演算子 について見ていきましょう。

Lesson1:基礎文法編
 ・Lesson1-1:JAVAの入り口|初めてコードを書いてみよう
 ・Lesson1-2:変数と定数を理解しよう
 ・Lesson1-3:四則演算をしよう ◁今回はココ
 ・Lesson1-4:文字列を操作しよう
 ・Lesson1-5:乱数を生成しよう
 ・確認問題1-☆1:ランダムパスワードを生成しよう
Lesson2:制御構造編
Lesson3:メソッド編
Lesson4:コレクション編
Lesson5:クラス

<<前のページ

学習記事一覧

次のページ>>

算術演算子とは?|四則演算の書き方とサンプルコード・注意点を解説

Javaでプログラムを書き始めると、まず必要になるのが「計算」を行うスキルです。

加算(足し算)、減算(引き算)、乗算(掛け算)、除算(割り算)といった四則演算は、ゲームの得点計算や買い物の合計金額の計算など、あらゆるプログラムの基礎に欠かせません。

算術演算子を理解すれば、キーボードから数値を入力して計算したり、計算結果を画面に表示するシンプルなアプリケーションを自分で作れるようになります。

本記事では、Javaの算術演算子の基本的な使い方から、注意すべき割り算のエラー対策、実践的なコード例までわかりやすく解説します。

さっそく、四則演算を自在に操れるようになりましょう。

加算・減算・乗算・除算・剰余の書き方

算術演算子とは数値の基本的な計算を行うための記号のことです。計算を簡単に記述でき、プログラム内で数値を操作する際に使われます。

算術演算子には主に、加算(足し算)、減算(引き算)、乗算(掛け算)、除算(割り算)、剰余(余りを求める)などが含まれます。

これらを活用することで計算の自動化や複雑な数値処理が可能になります。

+演算子による数値の加算

+演算子は2つの数値を足すために使用されます。

int a = 5;
int b = 3;
int result = a + b; // 結果は 8

このようにa + bのように記述すると、5と3が加算されて8が変数resultに代入されます。

-演算子による数値の減算

-演算子は2つの数値を引くために使用されます。

int a = 5;
int b = 3;
int result = a - b; // 結果は 2

a - bと記述することで5から3が引かれ、結果は2になります。

*演算子による数値の乗算

*演算子は2つの数値を掛け算するために使用されます。

int a = 5;
int b = 3;
int result = a * b; // 結果は 15

掛け算の場合も簡単に書けます。5と3を掛け合わせて、結果は15です。

/演算子による数値の除算

/演算子は割り算を行います。整数同士の割り算では、商(余りを除いた数値)だけが結果になります。

int a = 5;
int b = 2;
int result = a / b; // 結果は 2

5を2で割ると2.5ですが、整数型のresultには小数部分は切り捨てられて2が格納されます。

%演算子による数値の剰余

%演算子は割り算の余りを求めます。

int a = 5;
int b = 2;
int result = a % b; // 結果は 1

5を2で割った余りが1であるため、resultには1が代入されます。

ゼロ除算・整数の割り算などの注意点と対処法

  • 整数の除算: Javaでは整数同士の除算では小数が切り捨てられ、整数部分のみが残ります。小数部分も含めて計算を行いたい場合は、doublefloat型を使いましょう。
  • ゼロによる除算: b = 0のようにゼロで割ろうとするとエラーが発生します。これは例外と呼ばれ、プログラムが停止してしまいます。ゼロでの除算が発生しないように注意しましょう。

四則演算のサンプルプログラム

実際にこれらの演算子を使用したJavaのコードを見てみましょう。

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

        int sum = a + b;		// 加算
        int difference = a - b;	// 減算
        int product = a * b;	// 乗算
        int quotient = a / b;	// 除算
        int remainder = a % b;	// 剰余

        System.out.print("加算結果: ");
        System.out.println(sum);		// 13
        System.out.print("減算結果: ");
        System.out.println(difference);	// 7
        System.out.print("乗算結果: ");
        System.out.println(product);	// 30
        System.out.print("除算結果: ");
        System.out.println(quotient);	// 3
        System.out.print("剰余結果: ");
        System.out.println(remainder);	// 1
    }
}

このプログラムでは変数abに値を代入し、それぞれの算術演算子を使用して計算結果を出力しています。

加算結果: 13
減算結果: 7 
乗算結果: 30
除算結果: 3 
剰余結果: 1 

インクリメントとデクリメントの意味と使い方

プログラミングコードを書いていくと、整数型の変数の値に1だけ加算する、もしくは1だけ減算するという機会が頻繁に発生します。

(例:数を数える時や、カウントダウンするときなど)

同じ変数に1を加減算する場合は、以下のように記述します。

i = i + 1	// 変数iに「変数iに1加えた値」を代入する
i += 1		// ↑と同じ意味
i = i - 1	// 変数iに「変数iから1引いた値」を代入する
i -= 1		// ↑と同じ意味

この書き方は、数値が1以外の場合でも使用できます。

ただし数値が1の場合に限り、以下のように インクリメントデクリメント という書き方をすることも可能です。

i++	// インクリメント:変数iの値を1増やす
i--	// デクリメント:変数iの値を1減らす

特に「レッスン2:制御構造編」以降ではこの書き方を多用しますので、覚えておきましょう。

まとめ|計算処理の基本を身に着けよう

四則演算に使う算術演算子の基本(加算・減算・乗算・除算・剰余)と、それぞれの書き方・動作を学びました。

これでJavaで数値計算を行うプログラムを自分で作れるようになり、得点計算や合計金額の算出など、実用的な処理にも応用できます。

次のステップでは、より複雑な計算式や変数の活用方法を学び、プログラムの表現力をさらに広げていきましょう。

あなたのJavaスキルは、確実に成長しています。

練習問題|四則演算を行うプログラムを作成しよう

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

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

この問題の要件

以下の要件に従ってコードを完成させてください。

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

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

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

この問題を解くヒント

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

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

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

1:Scannerクラスのインポート
2:ArithmeticOperationsクラスの定義
  □ mainメソッドの定義
  □ □ Scannerオブジェクトscannerを作成
  □ □ 「1つ目の整数を入力してください: 」と出力
  □ □ scannerオブジェクトを使ってユーザーから整数を取得し、変数num1に代入
  □ □ 「2つ目の整数を入力してください: 」と出力
  □ □ scannerオブジェクトを使ってユーザーから整数を取得し、変数num2に代入
  □ □ 変数sumにnum1とnum2の合計を代入
  □ □ 変数differenceにnum1とnum2の差を代入
  □ □ 変数productにnum1とnum2の積を代入
  □ □ 変数quotientにnum1をnum2で割った商を代入
  □ □ 「合計: 」とsumの値を出力
  □ □ 「差: 」とdifferenceの値を出力
  □ □ 「積: 」とproductの値を出力
  □ □ 「商: 」とquotientの値を出力

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

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

import java.util.Scanner;

public class ArithmeticOperations { // クラス名
    public static void main(String[] args) { // メインメソッド
        /* 【穴埋め問題1】
        ここにスキャナーオブジェクトscannerを作成するコードを書いてください。
        */

        System.out.print("1つ目の整数を入力してください: ");
        /* 【穴埋め問題2】
        ここにscannerを使用してユーザーからの入力を受け取り、変数num1に格納するコードを書いてください。
        */

        System.out.print("2つ目の整数を入力してください: ");
        /* 【穴埋め問題3】
        ここにscannerを使用してユーザーからの入力を受け取り、変数num2に格納するコードを書いてください。
        */

        /* 【穴埋め問題4】
        ここに変数sumにnum1とnum2の合計を計算して格納するコードを書いてください。
        ここに変数differenceにnum1とnum2の差を計算して格納するコードを書いてください。
        ここに変数productにnum1とnum2の積を計算して格納するコードを書いてください。
        ここに変数quotientにnum1をnum2で割った商を計算して格納するコードを書いてください。
        */

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

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

練習問題の解答と解説

この問題の正解コードとその解説は以下の通りです。

クリックして開いて確認してください。

Q
正解コード
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); // 結果を出力
    }
}
Q
正解コードの解説

コードをブロックごとに分割して解説します。

Scannerクラスのインポート

import java.util.Scanner;

ここではユーザーからの入力を受け取るために、Scannerクラスをインポートしています。

これによりキーボードから整数を読み取ることが可能になります。

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

public class ArithmeticOperations { // クラス名
    public static void main(String[] args) { // メインメソッド

Javaプログラムのスタート地点となるクラスとメインメソッドを定義しています。

クラスArithmeticOperationsはこのプログラム全体を包む枠組みです。mainメソッドがプログラムの実行を開始します。

Scannerオブジェクトの作成

Scanner scanner = new Scanner(System.in); // スキャナーオブジェクトを作成

Scanner scanner = new Scanner(System.in);により、ユーザーからの入力を受け取るscannerというオブジェクトを作成します。

System.inは標準入力(キーボード)を意味し、ユーザーの入力を受け付ける準備が整います。

1つ目の整数の入力

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

System.out.printで「1つ目の整数を入力してください: 」と表示し、scanner.nextInt()でユーザーの入力を整数として読み取り、変数num1に格納します。

2つ目の整数の入力

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

同様に2つ目の整数を入力してもらい、変数num2に格納します。

算術演算子を使って計算を実行

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

ここで基本的な算術演算子を使って各計算を行います。

  • +(足し算):num1 + num2により2つの整数の合計を計算し、sumに格納します。
  • -(引き算):num1 - num2で2つの整数の差を求め、differenceに格納します。
  • *(掛け算):num1 * num2で積を計算し、productに格納します。
  • /(割り算):num1 / num2で商を計算し、quotientに格納します。

これらの演算子は「算術演算子」と呼ばれ、基本的な計算をプログラム内で実現するのに役立ちます。

計算結果の表示

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

最後に計算結果を表示します。

System.out.printlnで合計、差、積、商をそれぞれ出力します。

もっと分かりやすい学習サイトにするために

この記事を読んで「ここが分かりにくかった」「ここが難しかった」等の意見を募集しています。

世界一わかりやすいJava学習サイトにするため、ぜひ 問い合わせフォーム からご意見下さい。

<<前のページ

学習記事一覧

次のページ>>

記事URLをコピーしました