【Java】数値の計算について(BigDecimalクラス、算術演算子、代入演算子)

Javaの四則演算について

 Javaで数値を計算する場合(+、-、*、/)を使用して数値の計算をすることができますが、他にもBigDecimalクラスを使用して計算する方法もあります。小数点以下の数値を扱う際、意図しない丸め処理が行われない点が特徴です。

📝丸め処理とは
端数処理(はすうしょり)とは、与えられた数値を、ある一定の丸め幅の整数倍の数値に置き換えることである。平たく、丸め(まるめ)ともいう
引用元:端数処理 – Wikipedia

 
 

簡単な例をあげるとすると、0.25に値をセットしていたところ、0.3に丸め処理されていたりといった具合である。そして、意図しない値に丸め処理をされていた場合は、計算結果も意図しない値となって返却される

 そのため意図しない丸め処理をされないようにJavaでは、、BigDecimalクラスを使用することで正確な計算を行うことができます。

BigDecimalクラス 
変数宣言 BigDecimal b = new BigDecimal(“10”);
加算 add
減算 subtract
乗算 multiply
除算 divide

 

算術演算子
加算 +
減算
乗算 *
除算 /
余り
代入演算子
+= 足し算をして代入
-= 引き算をして代入
*= 掛け算をして代入
/= 割り算をして代入
%= 余りを計算して代入

この記事では、JavaのBigDecimalクラス の四則演算演算子を使用した計算方法について、記載しております。

①数値を加算する

数値を加算する方法をBigDecimalクラス、算術演算子、代入演算子でそれぞれコードを記載してみました。

BigDecimalクラスで加算を行うには、まず「import java.math.BigDecim」をインポートして、BigadDecimalの変数を宣言、加算を行う際は、「変数.add(変数))」にて加算します。

①「import java.math.BigDecim」をインポート
② BigadDecimalの変数を宣言 例:BigDecimal b = new BigDecimal(“1.25”);
③ 加算を行う際は、「変数.add(変数))」
 

サンプルコード:「KASAN1.java」

import java.math.BigDecimal;

public class KASAN1 {

  public static void main(String[] args) {
    BigDecimal b1 = new BigDecimal(“10”);
    BigDecimal b2 = new BigDecimal(“1.25”);

    System.out.println(b1.add(b2));
  }
}

実行結果

11.25

算術演算子、代入演算子を使用する方法をそれぞれ説明します。

算術演算子で計算する際は 「+」を使用します。「1 + 1」といった具合で使用できます。

また、変数を使用した形でも使用することができて、「変数 + 変数」、「変数 + 数字」としても使用することができます。

 

代入演算子では、「+=」で加算の計算をすることができます。「変数 += 変数または数値」で使用することができます。なお、代入演算子では左側は変数でないと使用できません。

それでは、サンプルプログラムを見ていきましょう。

サンプルコード:「KASAN2.java」

public class KASAN2 {

  public static void main(String[] args) {
    double d1 = 10 + 3.5;
    double d2 = 1.05;
    double 計算結果 = d1 + 5.5;
    System.out.println(計算結果);

    System.out.println(計算結果 + d2);
    d1 += d2;
    System.out.println(d1);
    System.out.println(d2);
  }
}

実行結果

19.0
20.05
14.55
1.05

実行結果を見ていきましょう。

・1回目の出力では 変数d1(10+3.5)+5.5=19.0が出力されています。変数に数字を加算することが確認できました。

・2回目の出力では、「変数 + 変数」の計算結果が算出することを確認できます。

・3回目の出力では、変数d1を出力していますが、「d1 += d2」とすることでd1(13.5)の値にd2(1.05)を加算できることが読み取れます。

・4回目の出力では、代入演算子を使用しても、変数d2は影響を及ぼさないことが読み取れます。

📝数値の加算
算術演算子
①変数 + 変数;
②変数 + 数値;
代入演算子
変数 +=  変数;
変数 +=  数値;
※左側は変数のみ

 

②数値を減算する

数値を減算する方法をBigDecimalクラス、算術演算子、代入演算子でそれぞれコードを記載してみました。

BigDecimalクラスで加算を行うには、まず「import java.math.BigDecim」をインポートして、BigadDecimalの変数を宣言、加算を行う際は、「変数.subtract(変数))」にて減算します。

①「import java.math.BigDecim」をインポート
② BigadDecimalの変数を宣言 例:BigDecimal b = new BigDecimal(“1.25”);
③ 減算を行う際は、「変数.subtract(変数))」
 

サンプルコード:「GENSAN1.java」

import java.math.BigDecimal;

  public class GENSAN1 {

  public static void main(String[] args) {
    BigDecimal b1 = new BigDecimal("10");
    BigDecimal b2 = new BigDecimal("1.25");

    System.out.println(b1.subtract(b2));
  }
}

実行結果

8.75

算術演算子、代入演算子を使用する方法をそれぞれ説明します。

算術演算子で計算する際は 「-」を使用します。「2 – 1」といった具合で使用できます。

また、変数を使用した形でも使用することができて、「変数 – 変数」、「変数 – 数字」としても使用することができます。

 

代入演算子では、「-=」で加算の計算をすることができます。「変数 -= 変数または数値」で使用することができます。なお、代入演算子では左側は変数でないと使用できません。

それでは、サンプルプログラムを見ていきましょう。

public class GENSAN2 {
  public static void main(String[] args) {
    double d1 = 10 - 2.5;
    double d2 = 0.5;
    double 計算結果 = d1 - 5.5;
    System.out.println(計算結果);

    System.out.println(計算結果 - d2);
    d1 -= d2;
    System.out.println(d1);
    System.out.println(d2);
   }
}

実行結果

2.0
1.5
7.0
0.5

実行結果を見ていきましょう。

・1回目の出力では 変数d1(10-2.5)-5.5=2.0が出力されています。変数に数字を減算することが確認できました。

・2回目の出力では、「変数 – 変数」(※2.0-0.5=1.5)の計算結果が算出することを確認できます。

・3回目の出力では、変数d1を出力していますが、「d1 -= d2」とすることでd1(7.5)の値にd2(.0.5)を減算できることが読み取れます(※出力結果7.0)。

・4回目の出力では、代入演算子を使用しても、変数d2は影響を及ぼさないことが読み取れます。

📝数値の減産
算術演算子
①変数 – 変数;
②変数 – 数値;
代入演算子
変数 -=  変数;
変数 -=  数値;
※左側は変数のみ

 

③数値を乗算する

数値を乗算する方法をBigDecimalクラス、算術演算子、代入演算子でそれぞれコードを記載してみました。

BigDecimalクラスで加算を行うには、まず「import java.math.BigDecim」をインポートして、BigadDecimalの変数を宣言、加算を行う際は、「変数.multiply(変数))」にて減算します。

①「import java.math.BigDecim」をインポート
② BigadDecimalの変数を宣言 例:BigDecimal b = new BigDecimal(“1.25”);
③ 減算を行う際は、「変数.multiply(変数))」
 

サンプルコード:「ZYOUSAN.java」

import java.math.BigDecimal;

public class ZYOUSAN {

  public static void main(String[] args) {
    BigDecimal b1 = new BigDecimal("10");
    BigDecimal b2 = new BigDecimal("1.5");

    System.out.println(b1.multiply(b2));
  }
}

実行結果

15.0

算術演算子、代入演算子を使用する方法をそれぞれ説明します。

算術演算子で計算する際は 「*」を使用します。「2 * 1」といった具合で使用できます。

また、変数を使用した形でも使用することができて、「変数 * 変数」、「変数 * 数字」としても使用することができます。

 

代入演算子では、「*=」で加算の計算をすることができます。「変数 *= 変数または数値」で使用することができます。なお、代入演算子では左側は変数でないと使用できません。

それでは、サンプルプログラムを見ていきましょう。

public class ZYOUZAN2 {
  public static void main(String[] args) {
    double d1 = 10 * 2.5;
    double d2 = 0.5;
    double 計算結果 = d1 * 2.0;
    System.out.println(計算結果);

    System.out.println(計算結果 * d2);
    d1 *= d2;
    System.out.println(d1);
    System.out.println(d2);
  }
}

実行結果

50.0
25.0
12.5
0.5

実行結果を見ていきましょう。

・1回目の出力では 変数d1(10*2.5)*2.0=50.0が出力されています。変数に数字を乗算することが確認できました。

・2回目の出力では、「変数 * 変数」(※50.0*0.5=25.0)の計算結果が算出することを確認できます。

・3回目の出力では、変数d1を出力していますが、「d1 -= d2」とすることでd1(25.0)の値にd2(.0.5)を乗算できることが読み取れます(※出力結果12.5)。

・4回目の出力では、代入演算子を使用しても、変数d2は影響を及ぼさないことが読み取れます。

📝数値の減産
算術演算子
①変数 * 変数;
②変数 * 数値;
代入演算子
変数 *=  変数;
変数 *=  数値;
※左側は変数のみ

 

④数値を除算する

数値を乗算する方法をBigDecimalクラス、算術演算子、代入演算子でそれぞれコードを記載してみました。

BigDecimalクラスで加算を行うには、まず「import java.math.BigDecim」をインポートして、BigadDecimalの変数を宣言、加算を行う際は、「変数.divide(変数))」にて減算します。

①「import java.math.BigDecim」をインポート
② BigadDecimalの変数を宣言 例:BigDecimal b = new BigDecimal(“1.25”);
③ 減算を行う際は、「変数.divide(変数))」
 

サンプルコード:「ZYOZAN .java」

import java.math.BigDecimal;

  public class ZYOZAN {

    public static void main(String[] args) {
    BigDecimal b1 = new BigDecimal("30.0");
    BigDecimal b2 = new BigDecimal("2.0");

    System.out.println(b1.divide(b2));
  }
}

実行結果

15

算術演算子、代入演算子を使用する方法をそれぞれ説明します。

算術演算子で計算する際は 「/」を使用します。「2 / 1」といった具合で使用できます。

また、変数を使用した形でも使用することができて、「変数 / 変数」、「変数 / 数字」としても使用することができます。

 

代入演算子では、「/=」で加算の計算をすることができます。「変数 /= 変数または数値」で使用することができます。なお、代入演算子では左側は変数でないと使用できません。

それでは、サンプルプログラムを見ていきましょう。

public class ZYOZAN2 {

  public static void main(String[] args) {
    double d1 = 20 / 2.5;
    double d2 = 2.0;
    double 計算結果 = d1 / 0.5;
    System.out.println(計算結果);

    System.out.println(計算結果 / d2);
    d1 /= d2;
    System.out.println(d1);
    System.out.println(d2);
  }
}

実行結果

16.0
8.0
4.0
2.0

実行結果を見ていきましょう。

・1回目の出力では 変数d1(20/2.5)/0.5=16.0が出力されています。変数に数字を乗算することが確認できました。

・2回目の出力では、「変数 / 変数」(※16.0/2.0=8.0)の計算結果が算出することを確認できます。

・3回目の出力では、変数d1を出力していますが、「d1 -= d2」とすることでd1(8.0)の値にd2(2.0)をできる除算できることが読み取れます(※出力結果4.0)。

・4回目の出力では、代入演算子を使用しても、変数d2は影響を及ぼさないことが読み取れます。

📝数値の減産
算術演算子
①変数 / 変数;
②変数 / 数値;
代入演算子
変数 /=  変数;
変数 /=  数値;
※左側は変数のみ

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP