はじめに
この実験では、Integer クラスの Java の intValue() メソッドについて学びます。このメソッドは、指定された数値の int 相当値を返し、一般的にアンボックシングに使用されます。
プロジェクトのセットアップ
始める前に、~/project ディレクトリに新しい Java ファイルを作成する必要があります。ターミナルを開き、次のコマンドを実行します。
touch ~/project/IntegerValueDemo.java
これにより、~/project ディレクトリに IntegerValueDemo.java という新しい Java ファイルが作成されます。
Integer オブジェクトの作成
このステップでは、Integer クラスのインスタンスを作成し、その中に値を格納します。
public class IntegerValueDemo {
public static void main(String[] args) {
Integer num = 10;
}
}
intValue() を使って Integer を int に変換する
今度は、先ほど作成した Integer オブジェクトの int 相当値を取得するために、intValue() メソッドを使います。
public class IntegerValueDemo {
public static void main(String[] args) {
Integer num = 10;
int intValue = num.intValue();
System.out.println("Integer value of " + num + " is " + intValue);
}
}
上記のコードでは、まず intValue という変数を作成し、intValue() メソッドが返す値を代入しました。その後、System.out.println() メソッドを使って結果を出力しました。
上記のコードを実行するには、ターミナルで ~/project ディレクトリに移動し、次のコマンドを実行します。
javac IntegerValueDemo.java
java IntegerValueDemo
parseInt() を使って String を int に変換する
このステップでは、parseInt() メソッドを使って String を int に変換する例を見てみましょう。
public class IntegerValueDemo {
public static void main(String[] args) {
String number = "15";
int intValue = Integer.parseInt(number);
System.out.println("Integer value of " + number + " is " + intValue);
}
}
上記のコードでは、まず String 型の変数 number を作成し、それに "15" という値を代入しました。その後、この String 型の変数に対して parseInt() メソッドを呼び出して、対応する int 型の値を取得しました。そして、System.out.println() メソッドを使って結果を出力しました。
上記のコードを実行するには、ターミナルで ~/project ディレクトリに移動し、次のコマンドを実行します。
javac IntegerValueDemo.java
java IntegerValueDemo
valueOf() を使って int を Integer に変換する
このステップでは、valueOf() メソッドを使って int を Integer オブジェクトに変換する例を見てみましょう。
public class IntegerValueDemo {
public static void main(String[] args) {
int intValue = 20;
Integer num = Integer.valueOf(intValue);
System.out.println("Integer value of " + intValue + " is " + num);
}
}
上記のコードでは、まず int 型の変数 intValue を作成し、それに 20 という値を代入しました。その後、この int 型の変数に対して valueOf() メソッドを呼び出して、対応する Integer オブジェクトを取得しました。そして、System.out.println() メソッドを使って結果を出力しました。
上記のコードを実行するには、ターミナルで ~/project ディレクトリに移動し、次のコマンドを実行します。
javac IntegerValueDemo.java
java IntegerValueDemo
intValue() を使ったアンボクシング
このステップでは、intValue() メソッドを使ったアンボクシングの例を見てみましょう。
public class IntegerValueDemo {
public static void main(String[] args) {
Integer num = 30;
int intValue = num;
System.out.println("Integer value of " + num + " is " + intValue);
}
}
上記のコードでは、Integer オブジェクト num を作成し、それに 30 という値を代入しました。その後、Java 5 で導入されたオートアンボクシング機能を使って、この Integer オブジェクトを int 型の変数 intValue に代入しました。そして、System.out.println() メソッドを使って結果を出力しました。
上記のコードを実行するには、ターミナルで ~/project ディレクトリに移動し、次のコマンドを実行します。
javac IntegerValueDemo.java
java IntegerValueDemo
NullPointerException の処理
このステップでは、intValue() メソッドを使用する際に発生する可能性のある NullPointerException 例外を処理する例を見てみましょう。
public class IntegerValueDemo {
public static void main(String[] args) {
Integer num = null;
try {
int intValue = num.intValue();
System.out.println("Integer value of " + num + " is " + intValue);
} catch (NullPointerException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
上記のコードでは、Integer オブジェクト num を作成し、それに null を代入しました。これは、intValue() メソッドを呼び出そうとするときに NullPointerException がスローされるようになります。try-catch ブロックを使ってこの例外をキャッチし、System.out.println() メソッドを使ってエラーメッセージを出力しています。
上記のコードを実行するには、ターミナルで ~/project ディレクトリに移動し、次のコマンドを実行します。
javac IntegerValueDemo.java
java IntegerValueDemo
ユーザー入力の使用
このステップでは、ユーザー入力を使って値を取得し、parseInt() メソッドを使ってそれを int に変換する例を見てみましょう。
import java.util.Scanner;
public class IntegerValueDemo {
public static void main(String[] args) {
try {
System.out.print("Enter an integer value: ");
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
int intValue = Integer.parseInt(input);
System.out.println("Integer value of " + input + " is " + intValue);
} catch (NumberFormatException e) {
System.out.println("Error: Invalid input. Please enter a valid integer value.");
}
}
}
上記のコードでは、Scanner クラスを使ってユーザーから入力を取得しています。その後、この入力に対して parseInt() メソッドを呼び出して、対応する int 型の値を取得しています。また、ユーザーが無効な値を入力した場合に発生する可能性のある NumberFormatException 例外を処理しています。
上記のコードを実行するには、ターミナルで ~/project ディレクトリに移動し、次のコマンドを実行します。
javac IntegerValueDemo.java
java IntegerValueDemo
コマンドライン引数の使用
このステップでは、コマンドライン引数を使って値をプログラムに渡す例を見てみましょう。
public class IntegerValueDemo {
public static void main(String[] args) {
try {
String input = args[0];
int intValue = Integer.parseInt(input);
System.out.println("Integer value of " + input + " is " + intValue);
} catch (NumberFormatException e) {
System.out.println("Error: Invalid input. Please enter a valid integer value.");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Error: No value provided. Please provide an integer value.");
}
}
}
上記のコードでは、args 配列を使ってコマンドライン引数として渡された値を取得しています。その後、この値に対して parseInt() メソッドを呼び出して、対応する int 型の値を取得しています。また、コマンドライン引数が無効な場合に発生する可能性のある NumberFormatException 例外と、値が提供されていない場合に発生する可能性のある ArrayIndexOutOfBoundsException 例外を処理しています。
上記のコードを実行するには、ターミナルで ~/project ディレクトリに移動し、次のコマンドを実行します。
javac IntegerValueDemo.java
java IntegerValueDemo 25
まとめ
IntegerクラスのintValue()メソッドは、Integerオブジェクトに対応する int を返します。IntegerクラスのparseInt()メソッドは、Stringを int に変換します。IntegerクラスのvalueOf()メソッドは、int をIntegerオブジェクトに変換します。- アンボクシングは、
Integerオブジェクトを自動的に int に変換するプロセスです。 - null の
Integerオブジェクトに対してintValue()メソッドを使用する場合、NullPointerException例外が発生する可能性があります。 - 無効な
Stringに対してparseInt()メソッドを使用する場合、NumberFormatException例外が発生する可能性があります。 args配列の無効なインデックスにアクセスしようとする場合、ArrayIndexOutOfBoundsException例外が発生する可能性があります。



