Javaでの絶対値の求め方:abs

java 絶対値の求め方
  • このエントリーをはてなブックマークに追加
  • Pocket

Javaで絶対値を計算したい、ということはときどきある。

数値計算系のプログラムはもちろんのこと、ただ「値と値の差」だけを知りたいときなど、絶対値は登場してくる。

このページではJavaで絶対値を計算する方法をお伝えする。

Javaの絶対値の求め方

絶対値とは、0からの距離だ。例えば、「3」も「-3」も0からの距離は「3」になる。これを絶対値という。

Javaで絶対値を求めるためにはMathクラスのabsメソッドを利用する。書き方の基本は簡単だ。

絶対値の値 = Math.abs(対象となる数)

下記で、Javaでの絶対値を求める書き方の詳細を確認していこう。

メソッドの型による違い

abs関数の引数に指定した値の絶対値を求めるが、引数に指定できる値はdouble型・float型・int型・long型と種類がある。

double型

abs(double a)

戻り値の型

public static double

内容

double値の絶対値を戻す。もし、引数が負でないなら、引数が戻される。もし、引数が負ならば、正負を逆にした引数が戻される。

■下記は特例となる

  • 引数が正のゼロまたは負のゼロならば、結果は正のゼロとなる。
  • 引数が無限大ならば、結果は正の無限大となる。
  • 引数がNaNならば、結果はNaNとなる。

言い換えれば、結果は、

式:Double.longBitsToDouble ((Double.doubleToLongBits(a)<<1)>>>1)の値と同じである。

引数:a - 絶対値が決定されるべき引数

戻り値:引数の絶対値

float型

abs(float a)

戻り値の型

public static float

内容

float値の絶対値を戻す。

■下記は特例となる

  • 引数が正のゼロまたは負のゼロならば、結果は正のゼロとなる。
  • 引数が無限大ならば、結果は正の無限大となる。
  • 引数がNaNならば、結果はNaNとなる。

ただし、特例にある式は以下のようになる。 式:Float.intBitsToFloat(0x7fffffff & Float.floatToIntBits(a))

後はdouble型と同じだ。

int型

abs(int a)

戻り値の型

public static int

内容

int値の絶対値を戻す。もし、引数が負でないなら、引数が戻される。もし、引数が負ならば、正負を逆にした引数が戻される。

注記:もし、引数がInteger.MAX_VALUE、負で表現できる最小のlong値ならば、結果は同じ負の値になる。

引数:a - 絶対値が決定されるべき引数

戻り値:引数の絶対値

long型

abs(long a)

戻り値の型

public static long

内容

long値の絶対値を戻す。

後はint型と同じだ。ただし、注記はLong.MIN_VALUEとなる。

Javaで絶対値を求めるサンプルプログラム

それでは実際にサンプルプログラムを確認してみよう。

サンプルコード

実行結果

サンプルプログラムの説明

それでは簡単にプログラムの解説をする。

設定側

  • [1] 正の無限大を変数:positiveInfinityに設定する
  • [2] 正の値を変数:positiveValueに設定する
  • [3] 正のゼロを変数:positiveZeroに設定する
  • [4] 負のゼロを変数:negativeZeroに設定する
  • [5] 負の値を変数:negativeValueに設定する
  • [6] 負の無限大を変数:negativeInfinityに設定する
  • [7] NaNを変数:nanValueに設定する

表示側

  • [8] positiveInfinityの値と絶対値を表示する
  • [9] positiveValueの値と絶対値を表示する
  • [10] negativeZeroの値と絶対値を表示する
  • [11] positiveInfinitの値と絶対値を表示する
  • [12] negativeValueの値と絶対値を表示する
  • [13] negativeInfinityの値と絶対値を表示する
  • [14] nanValueの値と絶対値を表示する

まとめ

このページではJavaの絶対値についてまとめてみた。

様々な場面で登場する関数なので、ぜひ覚えてしまおう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リカレントテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リカレントテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する