どちらか大きい値を取得する(max)

広告

引数に指定した2つの値のうち、どちらか大きい方の値を取得します。引数に指定できる数値は、double型、float型、int型、long型のどれかで、それぞれ同じ名前のメソッドが用意されています。

double型:

2 つの double 値のうち大きいほうを返します。つまり、結果は正の無限大に近いほうの引数となり
ます。引数の値が同じ場合は同じ値を返します。どちらかの値が NaN の場合は NaN を返します。数
値比較演算子とは異なり、このメソッドは負のゼロが厳密には正のゼロよりも小さいと見なします。
一方の引数が正のゼロでもう一方が負のゼロの場合は、正のゼロを返します。

パラメータ:
  a - 引数
  b - 別の引数 
戻り値:
  a と b のどちらか大きいほう

float型:

2 つの float 値のうち大きいほうを返します。つまり、結果は正の無限大に近いほうの引数となり
ます。引数の値が同じ場合は同じ値を返します。どちらかの値が NaN の場合は NaN を返します。数
値比較演算子とは異なり、このメソッドは負のゼロが厳密には正のゼロよりも小さいと見なします。
一方の引数が正のゼロでもう一方が負のゼロの場合は、正のゼロを返します。 

パラメータ:
  a - 引数
  b - 別の引数
戻り値:
  a と b のどちらか大きいほう

int型:

2 つの int 値のうち大きいほうを返します。引数の値が同じ場合は同じ値を返します。

パラメータ:
  a - 引数
  b - 別の引数 
戻り値:
  a と b のどちらか大きいほう

long型:

2 つの long 値のうち大きいほうを返します。引数の値が同じ場合は同じ値を返します。

パラメータ:
  a - 引数
  b - 別の引数 
戻り値:
  a と b のどちらか大きいほう

比較する2つの値は同じ型である必要があります。使い方は下記の通りです。

int a = 10;
int b = 20;

int max_num = Math.max(a, b);

「max」メソッドは、if文を使って下記のように記述した場合とほぼ同じです。単にどちらか大きい値を取得したい場合には、if文よりも便利かと思います。

int a = 10;
int b = 20;

int max_num;

if (a >= b){
    max_num = a;
}else{
    max_num = b;
}

サンプルプログラム

では実際に試してみましょう。

testMath2.java

class testMath2{
  public static void main(String args[]){
    int a = 10;
    int b = 4;

    System.out.println("「" + a + "」と「" + b + "」では");
    System.out.println("「" + Math.max(a, b) + "」の方が大きい。");
  }
}

上記を実際にコンパイルして実行してみると下記のようになります。

p2

( Written by Tatsuo Ikura )