2020/3/23

数学

絶対値

絶対値は、値がどれだけ基準の距離から離れているかを示す大きさです。JavaのMath.absの場合、基準が0なので、0からどれだけ離れているかを示す大きさになります。

|5|=5は、5の絶対値は5を表します。
|-5|=5は、-5の絶対値は5を表します。
|0|=0は、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ソースコード

以下は、絶対値を使ったJavaプログラムの例です。-5から5の数値の絶対値を表示するもので、-5から-1の絶対値がプラスの値になることを確認できます。

001
002
003
004
005
006
007
008
009
010
011
public class Abs {
	public static void main( String[] args ) {
		int i;

		// iを-5→5まで1ずつ変化させる
		for ( i = -5; i <= 5; ++ i ) {
			// Math.abs( i )の結果を表示
			System.out.println( Math.abs( i ) );
		}
	}
}

実行結果

コンパイル ソースコードが「ANSI」の場合

C:\talavax\javasample>javac -encoding sjis Abs.java

コンパイル ソースコードが「UTF-8」の場合

C:\talavax\javasample>javac Abs.java

実行

C:\talavax\javasample>java Abs

出力結果

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

以上です。

関連コンテンツ

数学に関係するJavaのメソッドやソースコードなどを紹介しています。

2022.10.25

変数やクラスに格納されている値をコンソール出力する方法は?

2020.03.23

プログラムの最初に実行されるメソッドは?

2022.12.13

プログラミングで使う変数って何?

2020.03.23

Javaのプログラムを書いてみませんか?プログラムの書き方をくわしく説明しています。

2020.03.23

「Javaソースコード」から実行可能な「オブジェクトコード」に変換する方法をくわしく説明しています。

2020.03.23

プログラミング言語とは?種類や特徴について説明しています。

2022.08.03

2つの座標(x1,y1)と(x2,y2)の直線距離を求める計算式は?

2020.03.23

メソッドの定義方法を詳しく解説しています。Javaのサンプルソースコードを使った説明もあります。

2020.03.23

メソッドを抜けるときに使用するreturn文について説明しています。

2020.03.20

データの型を変換する方法を詳しく解説しています。例)int型 → long型

2015.11.01

指定した基準座標から、指定したマンハッタン距離にある座標に●を描画!

2023.02.15

カラー画像の輪郭だけを残すプログラムを作ってみませんか?

2019.04.04

Swingパッケージを使って絶対値のグラフを表示するJavaソースコードを紹介しています。

2019.09.21

Swingパッケージを使って数式のグラフを表示する方法を解説します。サイン(sin)カーブを表示するJavaソースコードを紹介しています。

2019.09.14

マンハッタン距離ってどんな距離?

2020.03.23

JavaのMath.sqrtメソッドを使わない平方根の計算方法を解説。ソースコードを使って詳しく解説しています。

2022.12.16

関数f(x)が与えられたときf(x)=0となるxを数値計算の反復によって求める方法を詳しく解説しています。

2019.05.22

数値微分を使ったニュートン法で平方根を計算する方法を紹介しています。興味のあるかたは是非ご覧ください。

2019.05.23

反復計算の回数の上限があるニュートン法の解法ソースコードを紹介しています。

2019.05.24

二次方程式の解を求めるプログラムを作ってみませんか?

2022.10.17

カラーの画像を、N個のグレー色(白/灰色/黒)で表現した画像に変換する方法を説明しています。

2017.11.17

キーボードを使って入力した整数値の絶対値を求める方法を解説しています。

2023.03.10

条件式によって値を切り替えるときに使用する演算子について解説しています。

2020.03.23

閾(しきい)値は、条件を分岐するための境界の値です。

2022.07.14

計算の結果が∞となるときの表現方法について解説しています。

2016.02.15

広告