Java の Double.max() メソッド

JavaBeginner
オンラインで実践に進む

はじめに

Java のmax()メソッドは、Java のjava.langパッケージのDoubleクラスにある組み込みメソッドです。このメソッドは、引数として渡された 2 つの数値のうち、数値的に大きい方(最大値)を返します。ダブル値を扱っており、与えられた 2 つの値の間の最大値を見つけたい場合、Double.max()メソッドはそれを行う便利な方法です。

Java ファイルの作成

まずは、ターミナルを使ってホームディレクトリに移動し、次のコマンドを使ってMaxDouble.javaという名前の新しい Java ファイルを作成します。

touch MaxDouble.java

Java コードの記述

Double.max()メソッドがどのように機能するかを理解するために、コードエディタを使ってMaxDouble.javaファイルに次のコードを入力します。

public class MaxDouble {
    public static void main(String[] args) {
        double x = 34.5;
        double y = -20.1;
        System.out.println("Larger number is " + Double.max(x, y));
    }
}

上記のコードでは、main メソッドを持つMaxDoubleという名前のクラスを作成しました。main メソッド内では、double 型の 2 つの変数xyを宣言し、それぞれ 34.5 と -20.1 の値を割り当てました。その後、Double.max()メソッドを使ってxyの間の最大値を出力しました。

Java コードのコンパイル

MaxDouble.javaファイルの変更を保存し、コードエディタを終了します。

次のコマンドを使ってMaxDouble.javaファイルをコンパイルします。

javac MaxDouble.java

Java コードの実行

次のコマンドを使ってコンパイル済みの Java プログラムを実行します。

java MaxDouble

実行されたプログラムの出力は次の通りです。

Larger number is 34.5

ユーザーから入力を受け取る

ユーザーから 2 つの double 型の値を入力として取得し、Double.max()メソッドを使ってそれらの間の最大値を見つけてみましょう。MaxDouble.javaファイルのコードを次のように変更します。

import java.util.Scanner;

public class MaxDouble {
    public static void main(String[] args) {
        try{
            Scanner sc = new Scanner(System.in);
            System.out.print("Enter the first number: ");
            double num1 = sc.nextDouble();
            System.out.print("Enter the second number: ");
            double num2 = sc.nextDouble();
            System.out.println("Larger number is " + Double.max(num1, num2));
        }
        catch(Exception e){
            System.out.println("Invalid input!!");
        }

    }
}

上記のコードでは、Scannerクラスを使ってユーザーから 2 つの double 型の値を入力として取得しました。その後、Double.max()メソッドを使って 2 つの入力された数値の間の最大値を出力しました。

Java コードをコンパイルする

MaxDouble.javaファイルに保存された変更を保存し、コードエディタを終了します。

次のコマンドを使用してMaxDouble.javaファイルをコンパイルします。

javac MaxDouble.java

Java コードを実行する

次のコマンドを使用してコンパイル済みの Java プログラムを実行します。

java MaxDouble

実行されたプログラムの出力は次のとおりです。

Enter the first number: 35.4
Enter the second number: 67.89
Larger number is 67.89

Double.max() の代わりに Math.max() を使用する

Java では、2 つの double 型の値の間の最大値を見つけるためにMath.max()メソッドを使用することもできます。Math.max()メソッドはjava.langパッケージにある組み込みメソッドです。上記のコードを変更して、Double.max()メソッドの代わりにMath.max()メソッドを使用してみましょう。

import java.util.Scanner;

public class MaxDouble {
    public static void main(String[] args) {
        try{
            Scanner sc = new Scanner(System.in);
            System.out.print("Enter the first number: ");
            double num1 = sc.nextDouble();
            System.out.print("Enter the second number: ");
            double num2 = sc.nextDouble();
            System.out.println("Larger number is " + Math.max(num1, num2));
        }
        catch(Exception e){
            System.out.println("Invalid input!!");
        }

    }
}

上記のコードでは、Double.max()メソッドをMath.max()メソッドに置き換えました。

Java コードをコンパイルする

MaxDouble.java ファイルに変更を保存し、コードエディタを終了します。

次のコマンドを使用して MaxDouble.java ファイルをコンパイルします。

javac MaxDouble.java

Java コードを実行する

次のコマンドを使用して、コンパイル済みの Java プログラムを実行します。

java MaxDouble

実行されたプログラムの出力は以下の通りです。

Enter the first number: 23.98
Enter the second number: 598.6
Larger number is 598.6

まとめ

この実験では、Java におけるDouble.max()メソッドと、このメソッドを使って 2 つの double 型の値の間の最大値を見つける方法について学びました。また、Double.max()メソッドの使い方を理解するためのいくつかの例も見ました。さらに、Java でユーザーからの入力を受け取り、Double.max()およびMath.max()メソッドを使って 2 つの数値の間の最大値を見つける方法についても学びました。