Java の Integer クラスの intValue メソッド

JavaJavaBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、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 例外が発生する可能性があります。