2020/03/23 公開
・絶対値
絶対値は、値がどれだけ基準の距離から離れているかを示す大きさです。JavaのMath.absの場合、基準が0なので、0からどれだけ離れているかを示す大きさになります。
これは、マイナス(-)の値が与えられたときにはプラス(+)の値になり、プラス(+)の値が与えられたときには、そのままプラス(+)の値になるということです。
一般的には、プラスの値はそのままで、マイナスの値はマイナスを取ってプラスの値にすると考えてください。グラフで表すと下図のようになります。

以下は、Javaで用意されている絶対値を求めるメソッドです。
絶対値 Math.absメソッド
public static int Math.abs( int a )
public static long Math.abs( long a )
public static float Math.abs( float a )
public static double Math.abs( double a )
public static int Math.abs( byte a )
public static int Math.abs( short a )
public static long Math.abs( long a )
public static float Math.abs( float a )
public static double Math.abs( double a )
public static int Math.abs( byte a )
public static int Math.abs( short a )
■引数aに指定した数値の絶対値を返します。 パラメータ a : 絶対値を求めたい数値 戻り値 aの絶対値を返します。 戻りの変数型は、基本的に引数と同じ変数型と考えてよいです。
以下は、絶対値を使ったJavaプログラムの例です。-5から5の数値の絶対値を表示するもので、-5から-1の絶対値がプラスの値になることを確認できます。
Abs.java ← クリックしてダウンロードページに移動001: public class Abs { 002: public static void main( String[] args ) { 003: int i; 004: 005: // iを-5→5まで1ずつ変化させる 006: for ( i = -5; i <= 5; ++ i ) { 007: // Math.abs( i )の結果を表示 008: System.out.println( Math.abs( i ) ); 009: } 010: } 011: }
Abs.javaの出力結果
5
4
3
2
1
0
1
2
3
4
5
5 4 3 2 1 0 1 2 3 4 5
次に絶対値メソッドを自作し、計算方法を理解します。以下が作成例です。メソッドにマイナスの値が渡されたときに符号をプラス変換した戻り値を返していることが分かります。
: // int型の絶対値 public static int abs( int a ) { if ( 0 > a ) return -a; return a; } // long型の絶対値 public static long abs( long a ) { if ( 0 > a ) return -a; return a; } // float型の絶対値 public static float abs( float a ) { if ( 0.0f > a ) return -a; return a; } // double型の絶対値 public static double abs( double a ) { if ( 0.0 > a ) return -a; return a; } // byte型の絶対値 public static int abs( byte a ) { return abs( (int)a ); // byte型のaをint型に変換 } // short型の絶対値 public static int abs( short a ) { return abs( (int)a ); // short型のaをint型に変換 } :
(int)aで、変数aの値をintに変換しています。これをキャストといいます。
この変換によりpublic static int abs( int a )が呼ばれます。
■関連コンテンツ
型キャスト | 変数の型を変換する方法について解説 |
三項演算子 | 三項演算子について解説 |
メソッド | メソッドについて解説 |
符号 signum | Math.signumの使い方について解説 |
![]() |
if文条件による処理の分岐に使用するif文について解説 |
■新着情報
2021.12.21 | 現在の日時を取得 | いまの年月日、時分秒? |
■広告
