どちらか大きい値または小さい値を取得する

Math クラスで用意されている max メソッドを使用すると、 2 つの値のうちどちらか大きいほうを取得することができます。また min メソッドを使用するとどちらか小さいほうを取得することができます。引数に指定するデータ型毎に同じ名前のメソッドが複数用意されています。ここでは Java で 2 つの値を比較し大きい又は小さいほうを取得する方法について解説します。

(Last modified: )

Math.maxメソッドの使い方

引数に指定した 2 つの値のうち、どちらか大きいほうの値を取得するには Math クラスで用意されている max メソッドを使用します。 max メソッドはクラスメソッドです。引数のデータ型によって同じ名前のメソッドがいくつか用意されていますが、例として int 型の値を引数に取るメソッドを確認します。

public static int max(int a, int b)

パラメータ:
a - 引数
b - 別の引数

戻り値:
aとbのどちらか大きい方。

1 番目の引数と 2 番目の引数に指定した値のうち、どちらか大きいほうの値を戻り値として返します。

引数のデータ型が異なる同じ名前のメソッドとして次のものが用意されています。

public static double max(double a, double b)
public static float max(float a, float b)
public static long max(long a, long b)

次のサンプルを見てください。

System.out.println(Math.max(20, 12));  // 20
System.out.println(Math.max(7.215, 5.08));  // 7.215

引数に指定した 2 つの値のうちでどちらか大きいほうを取得しました。

Math.minメソッドの使い方

引数に指定した 2 つの値のうち、どちらか小さいほうの値を取得するには Math クラスで用意されている min メソッドを使用します。 min メソッドはクラスメソッドです。引数のデータ型によって同じ名前のメソッドがいくつか用意されていますが、例として int 型の値を引数に取るメソッドを確認します。

public static int min(int a, int b)

パラメータ:
a - 引数
b - 別の引数

戻り値:
aとbのどちらか小さい方。

1 番目の引数と 2 番目の引数に指定した値のうち、どちらか小さいほうの値を戻り値として返します。

引数のデータ型が異なる同じ名前のメソッドとして次のものが用意されています。

public static double min(double a, double b)
public static float min(float a, float b)
public static long min(long a, long b)

次のサンプルを見てください。

System.out.println(Math.min(20, 12));  // 12
System.out.println(Math.min(7.215, 5.08));  // 5.08

引数に指定した 2 つの値のうちでどちらか小さいほうを取得しました。

サンプルコード

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 JSample2-1.java という名前で保存します。

class JSample2_1{
  public static void main(String[] args){
    int num1 = 20;
    int num2 = 12;

    System.out.println(Math.max(num1, num2));
    System.out.println(Math.min(num1, num2));
  }
}

コンパイルを行います。

javac -encoding UTF-8 JSample2_1.java

その後で、次のように実行してください。

java JSample2_1

Math.maxメソッドおよびMath.mixメソッドの使い方(1)

int 型の 2 つの値を比較し、大きいほうと小さいほうの値をそれぞれ取得しました。

-- --

Java で 2 つの値を比較し大きい又は小さいほうを取得する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。