ゆるゆるプログラミング

・絶対値

絶対値は、値がどれだけ基準の距離から離れているかを示す大きさです。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 )
■引数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

次に絶対値メソッドを自作し、計算方法を理解します。以下が作成例です。メソッドにマイナスの値が渡されたときに符号をプラス変換した戻り値を返していることが分かります。

                   :

// 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 )が呼ばれます。

■関連コンテンツ

型キャスト 変数の型を変換する方法について解説

■新着情報

2017.11.17 N値化 カラー画像をN値化する方法について解説
2017.11.16 最も近い値の取得 指定値に最も近い配列の値を取得する方法を解説
2017.10.02 アルファ値(透過) アルファ値(透過)について

■広告

法人向けのETC専用カード

~約8,000名の受講生と80社以上の導入実績~ 企業向けプログラミング研修ならCodeCamp

日本最大級ショッピングサイト!お買い物なら楽天市場

Topへ