Java の Long.parseLong メソッド

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

はじめに

parseLong(String s) メソッドは、Java の Long クラスの静的メソッドです。これは、文字列を符号付きの 10 進数の long 型の値に変換するために使用されます。この実験では、このメソッドを使用して文字列を long 型の値に変換する方法を学びます。

LongParseLong クラスを作成する

LongParseLong という名前のクラスを作成します。

public class LongParseLong {

}

main メソッドを宣言する

LongParseLong クラスの中に main メソッドを宣言します。

public class LongParseLong {
    public static void main(String[] args) {

    }
}

文字列を long 型に変換する

main メソッドで、parseLong メソッドを使用して文字列を long 型の値に変換します。

public class LongParseLong {
    public static void main(String[] args) {
        String str = "123";
        long num = Long.parseLong(str);
        System.out.println("The string value " + str + " is converted to the long value " + num);
    }
}

上記のコードでは、parseLong メソッドを使用して文字列 "123" を long 型の値 123 に変換しています。変数 num に変換された long 型の値が格納され、その後コンソールに出力されます。

無効な入力を処理する

try-catch ブロックを使用して無効な入力を処理します。

public class LongParseLong {
    public static void main(String[] args) {
        String str = "abc";
        try {
            long num = Long.parseLong(str);
            System.out.println("The string value " + str + " is converted to the long value " + num);
        } catch (NumberFormatException e) {
            System.out.println("Invalid input: " + str + " cannot be converted to a long");
        }
    }
}

上記のコードでは、文字列 "abc"parseLong メソッドにとって無効な入力であり、long 型の値に変換できないため、NumberFormatException がスローされます。この例外は catch ブロックによってキャッチされ、コンソールにエラーメッセージが表示されます。

負の文字列を long 型に変換する

parseLong メソッドを使用して、負の文字列を long 型の値に変換します。

public class LongParseLong {
    public static void main(String[] args) {
        String str = "-123";
        try {
            long num = Long.parseLong(str);
            System.out.println("The string value " + str + " is converted to the long value " + num);
        } catch (NumberFormatException e) {
            System.out.println("Invalid input: " + str + " cannot be converted to a long");
        }
    }
}

上記のコードでは、文字列 "-123" は負の値であり、parseLong メソッドを使用して long 型の値に変換できます。結果として得られる long 型の値 -123 がコンソールに出力されます。

ユーザー入力を取得するために Scanner を使用する

Scanner オブジェクトを使用してユーザー入力を取得し、long 型の値に変換します。

import java.util.Scanner;

public class LongParseLong {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter a string to convert to a long: ");
        String str = scanner.nextLine();
        try {
            long num = Long.parseLong(str);
            System.out.println("The string value " + str + " is converted to the long value " + num);
        } catch (NumberFormatException e) {
            System.out.println("Invalid input: " + str + " cannot be converted to a long");
        }
    }
}

上記のコードでは、Scanner オブジェクトが作成され、nextLine メソッドを使用してコンソールからユーザー入力を取得します。次に、入力文字列が parseLong メソッドに渡されて long 型の値に変換され、その後コンソールに出力されます。

16 進数文字列を long 型に変換する

parseLong メソッドを使用して、16 進数文字列を long 型の値に変換します。

public class LongParseLong {
    public static void main(String[] args) {
        String str = "0x7fffffff";
        try {
            long num = Long.parseLong(str, 16);
            System.out.println("The hexadecimal string value " + str + " is converted to the long value " + num);
        } catch (NumberFormatException e) {
            System.out.println("Invalid input: " + str + " cannot be converted to a long");
        }
    }
}

上記のコードでは、parseLong メソッドを使用して 16 進数文字列 "0x7fffffff" を long 型の値に変換しています。parseLong メソッドの 2 番目のパラメータは基数を指定し、16 進数値の場合は 16 です。結果として得られる long 型の値 2147483647 がコンソールに出力されます。

2 進数文字列を long 型に変換する

parseLong メソッドを使用して、2 進数文字列を long 型の値に変換します。

public class LongParseLong {
    public static void main(String[] args) {
        String str = "1111111111111111111111111111111";
        try {
            long num = Long.parseLong(str, 2);
            System.out.println("The binary string value " + str + " is converted to the long value " + num);
        } catch (NumberFormatException e) {
            System.out.println("Invalid input: " + str + " cannot be converted to a long");
        }
    }
}

上記のコードでは、parseLong メソッドを使用して 2 進数文字列 "1111111111111111111111111111111" を long 型の値に変換しています。parseLong メソッドの 2 番目のパラメータは基数を指定し、2 進数値の場合は 2 です。結果として得られる long 型の値 4294967295 がコンソールに出力されます。

型指示子付き文字列を long 型に変換する

parseLong メソッドを使用して、型指示子付き文字列を long 型の値に変換します。

public class LongParseLong {
    public static void main(String[] args) {
        String str = "123L";
        try {
            long num = Long.parseLong(str);
            System.out.println("The string value " + str + " is converted to the long value " + num);
        } catch (NumberFormatException e) {
            System.out.println("Invalid input: " + str + " cannot be converted to a long");
        }
    }
}

上記のコードでは、文字列 "123L" には long 型の値の型指示子が含まれています。ただし、parseLong メソッドは符号付き 10 進数値のみを受け付け、型指示子に遭遇すると NumberFormatException をスローします。したがって、catch ブロックが実行され、エラーメッセージがコンソールに出力されます。

まとめ

おめでとうございます!あなたは Java の Long.parseLong(String s) メソッドの実験を完了しました。あなたのスキルを向上させるために、LabEx でさらに多くの実験を行うことができます。