Java言語は主に書き込みに使用されます大企業のWebアプリケーション。ただし、非常に多くの数を処理する必要があることが非常に多い他の主題分野にも適用できます。 Javaにはプリミティブ型がありますが、それだけでは不十分な場合があります。
すべてのプリミティブに1つあることが知られています不快な機能はタイプオーバーフローであり、範囲外の値は誤った計算につながります。これには特別なBigIntegerクラスがあります。この場合にも機能を備えた別個のクラスがなければ、JavaはJavaではありません。もっと詳しく考えてみましょう。
すでに理解しているように、BigIntegerクラスは大きな整数値のラッパー。数値を特定の型のオブジェクトにカプセル化するには、コンストラクターのオーバーロードの1つ、または静的メソッドvalueOfを使用できます。コンストラクターは、引数として文字列またはバイトの配列を取ることができます。 Java BigIntegerは、静的valueOfメソッドを使用して、整数を表す単純型を変換します。
Javaではオーバーロードする機能があるので演算子はありません。このクラスにカプセル化された値に対して数学演算を実行するための対応するメソッドがあります。それらについてさらに話します。
このクラスにはたくさんあります数値を操作し、それらに対してさまざまな数学演算を実行できるようにするメソッド。以下は、これらのメソッドのリストです。
算術演算を実行するメソッドを見てみましょう。
--add(value)-引数として渡された現在のオブジェクトの値の加算を実行します;
-減算(減算)-現在の値から減算を減算します。
-乗算(値)-乗算を実行します。
-除算(除算)-現在の値を除算器で除算します。
--pow(int arg)-呼び出し元オブジェクトの値をargの累乗に上げます。
--abs()-呼び出し元オブジェクトの絶対値を返します。
--negate()-値の符号が反対のBigIntegerオブジェクトを返します。
オブジェクトにカプセル化された2つの値に対して算術演算を実行する簡単な例を見てみましょう:
-BigInteger val1、val2、加算、除算、oppositeSign;
--val1 = new BigInteger(“ 5”);
--val2 = BigInteger.valueOf(10);
-追加= val1.add(val2);
-除算= val2.divide(val1);
--oppositeSign = val1.negate();
オブジェクトの作成方法に注意してください。変数val1は、文字列を受け取り、値5を格納するコンストラクターを使用して初期化されました。静的valueOfメソッドの結果として、val2は10に設定されます。加算変数の値は、最初の2つの変数の加算の結果であり、15に等しくなります。除算変数は、それぞれ減算の結果を格納します。反対の符号はval1と等しく、反対の符号、つまり-5です。
ご覧のとおり、BigIntegerJavaクラスは非常に多数の操作のためのさまざまなツール。同時に、Javaの安全性は、機能を犠牲にすることなく、もちろん最優先事項の1つであるため、型のオーバーフローは除外されます。