オーダーメイドコース
icon
icon

JavaのMathクラスのabsメソッドを使って絶対値を求める方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaのMathクラスのabsメソッドを使って絶対値を求める方法について解説しています。最初に絶対値とはどういうものかについて説明します。次にabsメソッドの基本の書き方、使用時の注意点について実際の例で見ていきましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

JavaのMathクラスのabsメソッドを使って絶対値を求める方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Java講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Mathクラスのabsメソッドを使って絶対値を求める方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

絶対値とは

絶対値とは、ある数字が原点0からどれだけの距離にあるのかを示したものです。たとえば、「5」という数字であれば、原点0から5だけ離れていますので、絶対値は「5」となります。

また、「-4」という数字であれば、原点0から4だけ亜慣れていますので、絶対値は「4」となります。数式では|5|、|-4|と書きます。

 

absメソッドとは

Javaプログラムで絶対値を求める場合には、absメソッドを使用します。二つの値の差を正の値で取得したり、変数の値を正の値として取得したいときなどに使用されます。

 

[PR] 未経験からWebエンジニアを目指す方法とは

absメソッドの使い方

absメソッドはMathクラスのメソッドであり、さらにstaticメソッドとして定義されているため、そのまま呼び出すことが可能です。

また、absメソッドの引数には、

  • int型
  • long型
  • float型
  • double型

を指定することができます。

関連記事:Javaプログラムにおけるint型とは【初心者向け】

関連記事:Javaプログラムにおけるlong型の使い方【初心者向け】

 

 

absメソッドの注意点

引数の値が最小値であった場合、absメソッドを使っても正の値になりません。たとえば、int型の場合、最小値は「-2147483648」ですが、最大値が「2147483647」ですので、最小値を正の値にすると収まりきらなくなってしまいます。

そのため、最小値の絶対値をabsメソッドで求めた場合は、マイナスの値が戻されるようになっています。

 

実際に書いてみよう

public class AbsCode {
	public static void main(String[] args) {
		int absolute = Math.abs(-5);
		System.out.println("-5の絶対値は" + absolute + "です。");

		int num = Integer.MIN_VALUE;	// 最小値
		int absNum = Math.abs(num);
		System.out.println(num + "の絶対値は" + absNum + "です。");
	}
}

実行結果

-5の絶対値は5です。
-2147483648の絶対値は-2147483648です。

 

監修してくれたメンター

松井紀明

メーカー系で17年エンジニアとして勤務後、現在はフリーのエンジニアとしてリモートワークで働いています。
Java、Perl、COBOL、最近ではRuby、PHP等、様々な言語での開発を経験しています。TechAcademyではJavaコースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは、初心者でも、JavaやServletの技術を使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

 

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。