はじめに
Java の Long クラスは、long 型の値に対して操作を行うためのさまざまなメソッドを提供します。Long クラスに属する compareTo() メソッドは、2 つの Long オブジェクトの値を数値的に比較するために使用されます。値が等しい場合は 0 を返し、最初の値が 2 番目の値より小さい場合は -1 を返し、最初の値が 2 番目の値より大きい場合は 1 を返します。
Java ファイルを作成する
~/project ディレクトリに LongComparetoMethod.java という名前の Java ファイルを作成します。
cd ~/project
touch LongComparetoMethod.java
Long オブジェクトを宣言して初期化する
このステップでは、2 つの Long オブジェクトを宣言および初期化します。
Long longObj1 = 456789L;
Long longObj2 = 23456L;
compareTo() を使って Long オブジェクトを比較する
このステップでは、compareTo() メソッドを使用して 2 つの Long オブジェクトを比較します。
int result = longObj1.compareTo(longObj2);
結果を確認する
このステップでは、比較の結果を確認します。
if(result == 0) {
System.out.println("両方の Long オブジェクトは等しい");
} else if(result > 0) {
System.out.println("longObj1 は longObj2 より大きい");
} else {
System.out.println("longObj1 は longObj2 より小さい");
}
プログラムをコンパイルして実行する
このステップでは、次のコマンドを使用して Java プログラムをコンパイルして実行します。
javac LongComparetoMethod.java
java LongComparetoMethod
異なる値でテストする
このステップでは、Long オブジェクトの値を変更することでプログラムを変更し、結果を確認できます。
Long longObj1 = 25389L;
Long longObj2 = 6754L;
Try-Catch ブロックを使用する
このステップでは、ユーザーが無効な値を入力した場合に try-catch ブロックを使用します。
Scanner scanner = new Scanner(System.in);
System.out.print("最初の long 値を入力してください:");
Long longObj1 = null;
Long longObj2 = null;
try {
longObj1 = scanner.nextLong();
System.out.print("2 番目の long 値を入力してください:");
longObj2 = scanner.nextLong();
} catch (InputMismatchException e) {
System.out.println("無効な入力です。有効な long 値を入力してください。");
System.exit(0);
}
int rst = longObj1.compareTo(longObj2);
if (rst == 0) {
System.out.println(longObj1 + " は " + longObj2 + " に等しい");
} else if (rst > 0) {
System.out.println(longObj1 + " は " + longObj2 + " より大きい");
} else {
System.out.println(longObj1 + " は " + longObj2 + " より小さい");
}
プログラムをコンパイルして実行する
このステップでは、次のコマンドを使用して Java プログラムをコンパイルして実行します。
javac LongComparetoMethod.java
java LongComparetoMethod
入力値が無効な場合、エラー メッセージが表示され、プログラムは終了します。
まとめ
この実験では、Java の Long の compareTo() メソッドについて学びました。Long オブジェクトを宣言および初期化し、compareTo() メソッドを使用して数値的に比較する方法を学びました。また、try-catch ブロックを使用して無効なユーザー入力を処理する方法も学びました。



