Javaプログラミング学習サイト ゆるゆるプログラミング

2019/06/01 公開

・符号 signum

符号は、正(プラス)/負(マイナス)を表すものです。Math.signumメソッドは、float型double型で与えられた数値に符号を返します。仕様は以下のとおりです。

Math.signumメソッド

public static float Math.signum( float a )
public static double Math.signum( double a )
■引数aの符号をを返します。

  パラメータ a : 指定した値。

  戻り値     a<0のとき、-1.0
          a=0のとき、0.0
          a>0のとき、1.0

与えられた数値が正(プラス)であれば1.0、負(マイナス)であれば-1.0、ゼロであれば0.0を返します。

それでは、Math_signumメソッドを使ったJavaソースコード例について説明します。以下は、Math.signumメソッドを使って絶対値を計算するものです。

Signum1.java ← クリックしてダウンロードページに移動
001:    public class Signum1 {
002:    	// signumを使った絶対値計算
003:    	static double abs( double a )
004:    	{
005:    		return Math.signum( a ) * a;
006:    	}
007:    
008:    	// メイン
009:    	public static void main( String[] args ) {
010:    		// 変数の宣言
011:    		double a;
012:    
013:    		a = 100.0;
014:    		System.out.println( a + "の絶対値 : " + abs( a ) );
015:    
016:    		a = 0.0;
017:    		System.out.println( a + "の絶対値 : " + abs( a ) );
018:    
019:    		a = -100.0;
020:    		System.out.println( a + "の絶対値 : " + abs( a ) );
021:    	}
022:    }

Signum1.javaの出力結果

100.0の絶対値 : 100.0
0.0の絶対値 : 0.0
-100.0の絶対値 : 100.0

ここからは、このソースコード絶対値の計算メソッドについて説明します。

002:    	// signumを使った絶対値計算
003:    	static double abs( double a )
004:    	{
005:    		return Math.signum( a ) * a;
006:    	}

絶対値は与えられた数値のマイナスを取った値です。例えば、-100.0の絶対値は100.0です。

一般的に、絶対値を計算するプログラムではif文で数値がマイナスかどうかを判定しマイナスの場合-1.0を掛けてプラスにします。

このサンプルでは、if文を使用せずにMath_signumメソッドの符号と元の数値を掛けることで絶対値を計算しています。

Math_signumメソッド戻り値は、元の値がマイナスの場合に-1.0です。これに元の値を掛けるとマイナス同士の掛け算になるので結果はプラスになります。

■関連コンテンツ

絶対値 絶対値について解説
数学関数について 数学関数について解説
メソッド メソッドについて解説
条件による処理の分岐に使用するif文について解説-画像

if文

条件による処理の分岐に使用するif文について解説

■新着情報

2021.2.10 三角形を描く(テキスト版) その2 三角形を描く(テキスト版) その2

■広告

Topへ