【Java】3分で理解!absを使って絶対値を取得する!
絶対値を取得する場合にはMathクラスのabsメソッドを使用します。
Mathクラスのabsメソッドは、指定された数値の絶対値を取得するメソッドとなります。
絶対値とは値が「0」からどれだけ離れているかを表す距離となりますので、数直線状で表すと分かりやすいかと思います。
absメソッドは、変数の値を正の数、負の数関係なくプラスの値で欲しいときや、2つの値の差をプラスの値で取得したいときなどに便利です。
今回はMathクラスのabsをメソッドを使って以下の場合についての絶対値を取得していきます。
⚫︎ 指定したパラメータの絶対値を取得する場合
⚫︎ 最大値、最小値の絶対値を取得する場合
⚫︎ 無限大の絶対値を取得する場合
⚫︎ 0の絶対値を取得する場合
⚫︎ NaN(非数)の絶対値を取得する場合
目次
absメソッドとは
Mathクラスのabsメソッドは、引数より小さいか等しい数字の整数を戻すメソッドとなります。
absメソッドの書き方
absメソッドの構文は下記となります。
1 |
Math.abs(数値); |
パラメータ
⚫︎ 数値:
絶対値を取得したい数値を指定する
absの()に数値を指定することで指定した数値の絶対値を返します。
引数に指定できる数値は、double型、float型、int型、long型のどれかで、それぞれ同じ名前のメソッドが用意されています。
絶対値を取得するサンプルコード
絶対値を取得するサンプルコードを紹介します。
パラメータの絶対値を取得する場合
例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// 絶対値を取得する public class Main { public static void main(String[] args) throws Exception { int num1 = 123; int num2 = -123; // パラメータを指定した場合 System.out.println(num1 + "の絶対値は" + Math.abs(num1)); System.out.println(num2 + "の絶対値は" + Math.abs(num2)); } } |
出力結果
123の絶対値は123
-123の絶対値は123
absメソッドで指定したパラメータの絶対値を取得して表示しています。
最大値、最小値の絶対値を取得する場合
例
1 2 3 4 5 6 7 8 9 10 |
// 絶対値を取得する public class Main { public static void main(String[] args) throws Exception { // 最大値「、最小値を指定した場合 System.out.println("最大値の絶対値は" + Math.abs(Integer.MAX_VALUE)); System.out.println("最小値の絶対値は" + Math.abs(Integer.MIN_VALUE)); } } |
出力結果
最大値の絶対値は2147483647
最小値の絶対値は-2147483648
absメソッドに最大値を指定する場合はプラスを返しますが、最小値を指定する場合はプラスを返しません。
なぜなら、int型では最小値は「-2147483648」ですが、最大値が「2147483647」なので、プラスにすると最大値に収まらないからです。
そのため、負の値が返されるようになっています。
無限大の絶対値を取得する場合
例
1 2 3 4 5 6 7 8 9 10 11 12 |
// 絶対値を取得する public class Main { public static void main(String[] args) throws Exception { // 無限大を指定した場合 System.out.println( "正の無限大の絶対値は" + Math.abs(Double.POSITIVE_INFINITY)); System.out.println( "負の無限大の絶対値は" + Math.abs(Double.NEGATIVE_INFINITY)); } } |
出力結果
正の無限大の絶対値はInfinity
負の無限大の絶対値はInfinity
absメソッドに無限大を指定する場合は「Infinity」を返します。
0の絶対値を取得する場合
例
1 2 3 4 5 6 7 8 9 10 11 12 |
// 絶対値を取得する public class Main { public static void main(String[] args) throws Exception { int num = 0; // 0を指定した場合 System.out.println(num + "の絶対値は" + Math.abs(num)); } } |
出力結果
0の絶対値は0
absメソッドに0を指定する場合は0を返します。
NaN(非数)の絶対値を取得する場合
例
1 2 3 4 5 6 7 8 9 |
// 絶対値を取得する public class Main { public static void main(String[] args) throws Exception { // NaNを指定した場合 System.out.println("NaNの絶対値は" + Math.abs(Double.NaN)); } } |
出力結果
NaNの絶対値はNaN
absメソッドにNaNを指定する場合はNaNを返します。
今回のポイント
absで絶対値を取得
絶対値を取得するにはMathクラスのabsメソッドを使用する。
⚫︎ Mathクラスのabsメソッドで、パラメータで渡した数値の絶対値を取得する(パラメータで渡す値と戻り値の型は同じになる)
⚫︎ absメソッドのパラメータに最大値、最小値を指定した場合は、最大値はプラスを返しますが、最小値の場合はマイナスのまま返す
⚫︎ absメソッドのパラメータに正の無限大、負の無限大を指定した場合は、両数とも「Infinity」を返す
⚫︎ absメソッドのパラメータに0を指定した場合は、「0」を返す
⚫︎ absメソッドのパラメータにNaNを指定した場合は、「NaN」を返す
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。