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

Math.cosメソッドとMath.sinメソッドを使ってtanθを計算する方法を解説しています。

2024.05.16

割り算で割り切れずに残った端数を剰余(余り)といいます。この剰余の計算をJavaのソースコードを使って解説しています。

2020.03.23

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

2020.03.23

Javaの学習に役立つソースコードを多数紹介しています。是非、ご覧ください。

2022.09.10

Javaを使った簡単な応用プログラム(生年月日から年齢を計算プログラムなど)を紹介しています。

2022.07.07

画像フォーマット形式・色・大きさ・傾きなどの変更、特定の図形(文字・記号など)を見つけたり、取り出したりする画像処理について詳しく解説。

2015.11.29

プログラミング、ITに関する用語をまとめています。

2022.10.17

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

2020.03.23

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

2022.12.13

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

2020.03.23

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

2020.03.23

Javaのプログラムを作ってみませんか?プログラミングに必要なものの用意から実行までを説明しています。

2020.03.23

Swingパッケージを使ってグラフィック表示を行う方法を解説しています。

2020.03.23

繰り返し処理を使ったJavaのソースコードサンプルを紹介しています。

2020.03.23

配列を使うJavaソースコードを多数紹介しています。

2021.05.18

三角形、台形、円などいろいろな図形の面積を計算するプログラムを紹介しています。詳しくは、記事をご覧ください。

2021.05.18

StringクラスとStringBuilderクラスを利用したプログラミングの仕方を紹介しています。

2016.12.16

日本で使われてきた伝統文様「和柄」について解説しています。

2022.07.27

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

2022.08.03

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

2020.03.23

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

2020.03.23

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

2020.03.20

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

2015.11.01

「ゆるゆるプログラム」のコンテンツを紹介しています。興味のある方はこの記事をご覧ください。

2020.03.23

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

2023.02.15

2つの値を比較する方法を解説しています。与えられた2つの値が同じか、大きいか、小さいかを判定します。

2019.08.04

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

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

Math.signumメソッドについて解説しています。

2019.06.01

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

2017.11.17

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

2023.03.10

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

2020.03.23

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

2022.07.14

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

2016.02.15

広告