Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaのMath.multiplyExact()メソッドとは?使い方と実行例をわかりやすく解説

Math.multiplyExact()は、Javaに標準で用意されている組み込みメソッドの一つで、引数として渡された2つの値を乗算(掛け算)するために使用されます。通常の乗算演算子「*」との大きな違いは、計算結果がデータ型の範囲を超えてオーバーフローした場合にArithmeticExceptionをスローする点です。これにより、気づきにくいオーバーフローバグを防ぐことができます。

multiplyExact()の基本的な使い方

以下は、int型とlong型の値に対してmultiplyExact()を使用し、積を求めるサンプルコードです。

サンプルコード

import java.lang.Math;
public class Demo{
    public static void main(String args[]){
        int a = 12, b = 34;
        System.out.printf("Product is : ");
        System.out.println(Math.multiplyExact(a, b));
        long c = 78, d = 93;
        System.out.printf("Product is : ");
        System.out.println(Math.multiplyExact(c, d));
    }
}

実行結果

Product is : 408
Product is : 7254

コードの解説

Demoという名前のクラスの中にmainメソッドが定義されています。まず、2つのint型変数aとbを宣言し、multiplyExact()メソッドを使ってその積を計算しています。続いて、2つのlong型変数cとdを宣言し、同じくmultiplyExact()メソッドで積を求めています。最後に、それぞれの計算結果がコンソールに出力されます。

押さえておきたいポイント

  • int型同士の乗算ではint型の結果が、long型同士の乗算ではlong型の結果が返されます。
  • 計算結果が各データ型の表現範囲を超えるとArithmeticExceptionが発生するため、安全な数値計算を行いたい場面で特に有効です。
  • 同様のメソッドとして、加算を行うaddExact()や減算を行うsubtractExact()もMathクラスに用意されています。
  1. JavaのIterator(イテレータ)とCollection(コレクション)の違いと使い方を徹底解説

    Javaのコレクションフレームワークにおいて、Iterator(イテレータ)とCollection(コレクション)はデータを扱う上で非常に重要なインターフェースです。本記事では、それぞれの特徴や役割の違いを、実際のコード例とともにわかりやすく解説します。 Iterator(イテレータ)とは Iteratorは、コレクションフレームワーク内で必要なタイミングで要素を1つずつ取り出すために使用されるインターフェースです。 public interface Iterator next()メソッドを使うことで、次の要素へ移動しながらアクセスできます。また、remove()メソッドを使用すれば、データ

  2. JavaのIntUnaryOperatorインターフェースとは?主要メソッドと使用例を解説

    Javaで関数型プログラミングを行う際に活用できるのが、java.util.functionパッケージに含まれる「IntUnaryOperator」インターフェースです。IntUnaryOperatorは、int型の引数を1つ受け取り、int型の結果を返す操作を表す関数型インターフェースで、Java 8から導入されました。ここでは、IntUnaryOperatorの基本的な使い方をサンプルコードとともに見ていきましょう。 IntUnaryOperatorの使用例 a * 9); System.out.println(op_4.applyAsInt(56)); } }