検索

キーワード


【Java】四則演算とは?概要と基本(ハンズオンセミナー用コード解説)

  • 公開日:2021-01-26 08:21:20
  • 最終更新日:2021-01-26 08:08:27
【Java】四則演算とは?概要と基本(ハンズオンセミナー用コード解説)

こんにちは、駆け出しエンジニアの伊藤です。


東京ITカレッジのJava研修で学んだ内容を復習も兼ねて記事にしたいと思います。


今回は、プログラムの基本「四則演算」について説明します。

Javaやプログラムについて勉強し始めた方の参考になれば幸いです!

(eclipseを使用して計算を行っています)


関連記事:【Java】演算子(算術演算子と複合演算子)の使い方を解説! インクリメントとデクリメントの使い方!

     【Java】比較演算子、論理演算子、ビット演算子、シフト演算子の使い方について解説!




「四則演算とは?」


演算とは「どんな計算をするか」です。

四則とは、数学での「加減乗除(「+」「-」「*」「/」)」のことです。

なので四則演算とは、「加減乗除を使った計算」のことです。


プログラミングでは、変数に値を入れること(代入演算子)ができます。


int a = 1;	//int型「a」の変数に1の値を入れる


代入演算子は、「=」で書き「右辺の値を左辺の変数に入れる」というものです。


関連記事:【Java】変数とは?定数とは?詳しく解説! 変数の列挙型、代入、型変換、型推論の使い方についても紹介します!




「四則演算の演算子」


演算子は「+」「-」「*」「/」「%」のことです。


・足し算(加算): +

・引き算(減算): -

・掛け算(乗算): * (×の代わり)

・割り算(除算): / (÷の代わり)

・割り算の余り : % (割り切れない計算に対して、余りを出す)

/* 四則演算を行うプログラム */

public class Arithmetic{

    public static void main(String[] args) {

        //足し算(加算)
        int addition = 1 + 2;	
        //引き算(減算)
        int subtraction = 10 - 3;
        //掛け算
        int multiplication = 5 * 4;
        //割り算
        int division = 8 / 2;

        //演算結果
        System.out.println("-------- [計算結果表示] --------");
        System.out.println("addition(足し算結果) = " + addition);
        System.out.println("subtraction(引き算結果) = " + subtraction);
        System.out.println("multiplication(掛け算結果) = " + multiplication);
        System.out.println("division(割り算結果) = " + division);

    }

}
-------- [演算結果表示] --------
addition(足し算結果) = 3
subtraction(引き算結果) = 7
multiplication(掛け算結果) = 20
division (割り算結果)= 4 



Point

0で割る除算のことをゼロ除算と言います。

第1オペランド÷第2オペランドの場合、第2オペランドが“0”の時のことです。

このゼロ除算を行った場合、Javaでは「ArithmeticException」エラーが発生し、異常終了してしまいます。


public class QuotientZero {

    public static void main(String[] args) {

        int num1 = 10;	//第1オペランドとして使用
        int num2 = 0;	//第2オペランドとして使用

     System.out.println("-------- [計算結果表示] --------");
        System.out.println("num1 ÷ num2 = " + (num1 / num2));

    }

}


-------- [計算結果表示] --------
Exception in thread "main" java.lang.ArithmeticException: / by zero
	at com.fs.handson.chapter2.QuotientZero.main(QuotientZero.java:9)


プログラムを記述する上で、ゼロ除算は必ず回避しなくてはいけません。

第2オペランドの値には気を付けてプログラミングしましょう。


逆に第1オペランドが0の場合は、0で割る訳ではないためエラーは発生せずに計算結果が出力できます。

public class Quotient {

    public static void main(String[] args) {

	    int num1 = 0;
        int num2 = 10;

        System.out.println("-------- [計算結果表示] --------");
        System.out.println("num1 ÷ num2 = " + (num1 / num2));

    }

}


-------- [計算結果表示] --------
num1 ÷ num2 = 0



関連記事:【Java】例外クラスの概要や使用実例を解説

     【Java】演算子(算術演算子と複合演算子)の使い方を解説! インクリメントとデクリメントの使い方!



「変数同士の演算」


変数同士の演算も可能です。


/* 変数同士の演算を行うプログラム */

public class Variable{

    public static void main(String[] args) {

        int num1 = 1
        int num2 = 2 

        System.out.println("-------- [変数同士の演算表示] --------");
        System.out.println("num1 + num2 = " + (num1 + num2));
        System.out.println("num2 - num1 = " + (num2 - num1));

   }

}
-------- [変数同士の演算表示] --------
num1 + num2 = 3
num2 - num1 = 1



関連記事:【Java】変数とは?定数とは?詳しく解説! 変数の列挙型、代入、型変換、型推論の使い方についても紹介します!



「整数・小数・余りの演算」


どちらかのオペランドの値が小数の場合は計算結果も小数となります。

public class IntegerAri{

    public static void main(String[] args) {
        System.out.println("-------- [演算補足] --------");       
        System.out.println("10 / 4 = " + (10 / 4) + " ← [整数 / 整数] の結果は整数になります。");		
        System.out.println("10.0 / 4 = " + (10.0 / 4) + " ← どちらかが小数の場合は小数になります。");
		System.out.println("10 / 4.0 = " + (10 / 4.0) + " ← どちらかが小数の場合は小数になります。");
		System.out.println("10.0 / 4.0 = " + (10.0 / 4.0) + " ← どちらかも小数の場合は小数になります。");

    }

}


-------- [計算補足] --------
10 / 4 = 2[整数 / 整数] の結果は整数になります。
10.0 / 4 = 2.5 ← どちらかが小数の場合は小数になります。
10 / 4.0 = 2.5 ← どちらかが小数の場合は小数になります。
10.0 / 4.0 = 2.5 ← どちらも小数の場合は小数になります。



小数の表示は、double型にキャストすることでもできます。

小数にする値の後に「d」を表示することで小数を表すことができます。


/* 整数・小数・余りの演算を行うプログラム */

public class IntegerAri{

    public static void main(String[] args) {

        System.out.println("-------- [演算補足] --------");
        System.out.println("10 / 3 = " + (10 / 3) + " ← [整数 / 整数] の結果は整数になります。");
        System.out.println("10d / 3 = " + (10d / 3) + " ← どちらかが小数の場合は小数になります。");
        System.out.println("10 / 3d = " + (10 / 3d) + " ← どちらかが小数の場合は小数になります。");
        System.out.println("10 % 3 = " + (10 % 3) + " ← 割り算の余り計算です。");

    }

}


-------- [整数・小数・余りの演算表示] --------

10 / 3 = 3[整数 / 整数] の結果は整数になります。
10d / 3 = 3.3333333333333335 ← どちらかが小数の場合は小数になります。
10 / 3d = 3.3333333333333335 ← どちらかが小数の場合は小数になります。
10 % 3 = 1 ← 割り算の余り計算です。 //計算結果は3余り1で、余りの値が表示されます


ここで、整数/整数の結果が小数点以下が切り捨てになっていることに注意してください。

整数同士の除算での結果は、小数点以下が切り捨てとなり整数部分のみが計算結果として出力されます。

きちんとした結果を出したい時は、

①オペランドのどちらかを小数点以下まで記述 (10.0 / 4 の書き方)

②double型もしくはfloat型にキャスト (10d / 4 の書き方)

のどちらかで対応が可能です。





Javaでの四則演算プログラムは分かったでしょうか?

また、複合代入演算子という「+=」などの計算もあります。

プログラミングをする中ではよく使用する演算子なので、ぜひ押さえておくと良いと思います。


関連記事:【Java】演算子(算術演算子と複合演算子)の使い方を解説! インクリメントとデクリメントの使い方!

     【Java】比較演算子、論理演算子、ビット演算子、シフト演算子の使い方について解説!


【著者】

伊藤

Javaを研修で3か月学んだ、駆け出しのエンジニアです。
現在は、ベンダー資格を取得するため、勉強を日課にできるよう努力中です。

よく読まれている記事
【Java】JSPでタグライブラリを使う(JSTL)

【Java】JSPでタグライブラリを使う(JSTL)

こんにちは。エンジニアの新田です!ここでは、システムエンジニアとして働いている私が、システム開発手法や開発言語について紹介していこうと思います。今回は、JSPの標準タグライブラリ「JSTL」について紹介します。Javaについて勉強している方、Webアプリケーションを構築したいと思っている方の参考になれば幸いです!関連記事リンク: 【Java】JSPの基本的な構文/【Java】JSPのアクションタグ

【Java】Stringクラス文字列を操作するメソッドの使い方まとめ!実例も紹介!

【Java】Stringクラス文字列を操作するメソッドの使い方まとめ!実例も紹介!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!そもそもStringとは何?『 String 』... Java言語において文字列のデータ型を指します。基本デ

【Java】文字列の置き換え(String#format)!エスケープシーケンスのまとめも!!

【Java】文字列の置き換え(String#format)!エスケープシーケンスのまとめも!!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!Stringクラスformatメソッドの文字列整形【java.utilパッケージ】Formatterクラスfo

【Java】文字列格納後に変更可能!?StringBufferクラスとStringBuilderクラス!

【Java】文字列格納後に変更可能!?StringBufferクラスとStringBuilderクラス!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者にも✅、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!文字列を扱う3つのクラス【java.langパッケージ】java.langパッケージの文字列を扱うクラスにはS

【Java】値?変数?型??しっかり解説!『データ型(プリミティブ型と参照型)』

【Java】値?変数?型??しっかり解説!『データ型(プリミティブ型と参照型)』

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!プリミティブ型と参照型プログラム開発では型を持った変数を使ってデータのやり取りをしますが、データ型によって仕様