Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaで文字列を整数に変換する方法【parseInt()とvalueOf()の使い方を解説】

プログラマーは、扱う値の種類に応じてさまざまなデータ型を使い分けます。たとえば、テキストデータには文字列(String)を、整数には整数型(intやInteger)を使用します。

コードを書いていると、ある値のデータ型を別の型に変換したくなる場面に遭遇することがあります。Javaで最もよく行われる型変換のひとつが「文字列から整数への変換」です。この変換には、parseInt()メソッドとvalueOf()メソッドが活躍します。

この記事では、具体的なコード例を交えながら、これら2つのメソッドを使って文字列を整数に変換する方法を詳しく解説します。

Javaのデータ型とは

Javaは他のプログラミング言語と同様、データ型を使って値の種類を分類します。たとえば、true/falseの値はboolean型に、テキストはString型に格納されます。

データ型が重要なのは、値のデータ型によってその値に対して実行できる操作が決まるからです。たとえば、整数や実数に対しては数学的な演算(四則演算など)を行えますが、文字列に対してはそれができません。

プログラミングをしていると、「文字列として格納された数値に対して計算を行いたい」といった場面が出てきます。そのような場合は、あらかじめ値のデータ型を文字列から整数へ変換しておく必要があります。

parseInt()メソッドで文字列を整数に変換する

Javaで文字列を整数に変換する方法のひとつが、parseInt()メソッドの使用です。このメソッドは、変換したい文字列を1つの引数として受け取ります。

parseInt()の構文

Integer.parseInt(value);

parseInt()の使用例

ここで、テーマパークの入場管理プログラムを例に考えてみましょう。このプログラムは、特定のアトラクションに乗る際に顧客の年齢をチェックするものです。顧客の年齢は文字列として格納されていますが、年齢制限と比較できるように整数に変換したいとします。

次のコードを使えば、顧客の年齢(この例では「15」)を整数に変換できます。

class ConvertAge {
	public static void main(String[] args) {
		String age = "15";
		
		Integer integer_age = Integer.parseInt(age);
		System.out.println("This customer's age is: " + integer_age);
	}
}

このコードの出力結果は以下のとおりです。

This customer's age is: 15

コードの内容を順番に見ていきましょう。ConvertAgeクラスの最初の行では、顧客の年齢を格納するageという文字列変数を宣言しています。

次に、parseInt()メソッドを使って文字列の値を解析し、整数に変換します。変換後の整数値は、変数integer_ageに代入されます。最後に、「This customer's age is:」というメッセージとともに、顧客の年齢を出力しています。

instanceofでデータ型を確認する

instanceofキーワードを使うと、データの型を確認できます。instanceofは、チェック対象の値が特定のデータ型であるかどうかに応じて、boolean値(trueまたはfalse)を返します。

先ほどのプログラムの末尾に以下のコードを追加すると、integer_ageが本当に整数型であることを検証できます。

System.out.println("Is age an integer? " + (integer_age instanceof Integer));

出力結果:

This customer's age is: 15
Is age an integer? true

このコードでは、instanceof Integerを使って、変数がInteger型かどうかをチェックしています。変数はInteger型に変換済みなので、instanceofはtrueを返します。

valueOf()メソッドで文字列を整数に変換する

Javaで文字列を整数に変換するもうひとつの方法が、valueOf()メソッドの使用です。このメソッドも、変換したい値を1つの引数として受け取ります。

valueOf()の構文

Integer.valueOf(value);

valueOf()の使用例

次に、コーヒーショップで販売したコロンビア産とイタリアンローストのコーヒー豆の在庫数を管理するプログラムを例に、valueOf()メソッドの動作を見ていきましょう。現在、これらの数量は文字列として格納されていますが、整数に変換したいとします。

その場合、以下のようなコードで変換を実現できます。

class ConvertQuantities {
	public static void main(String[] args) {
		String columbian = "15";
		String italian_roast = "19";
		
		Integer columbian_integer = Integer.valueOf(columbian);
		Integer italian_roast_integer = Integer.valueOf(italian_roast);
		System.out.println("Quantity of Columbian coffee beans: " + columbian_integer);
		System.out.println("Quantity of Italian roast coffee beans: " + italian_roast_integer);
	}
}

このコードの出力結果は以下のとおりです。

Quantity of Columbian coffee beans: 15
Quantity of Italian roast coffee beans: 19

コードの内容を分解して見てみましょう。ConvertQuantitiesクラスの最初の行では、columbianという変数を宣言し、値「15」を代入しています。続いて、italian_roastという変数を宣言し、値「19」を代入しています。

その後、valueOf()メソッドを使ってcolumbianの値を整数に変換し、その結果を変数columbian_integerに代入します。

同様に、valueOf()メソッドを使ってitalian_roastの値を整数に変換し、その結果を変数italian_roast_integerに代入します。

最後に、それぞれのコーヒー豆の数量を、変換後の整数値を使って出力しています。

まとめ

Javaで文字列を整数に変換する方法は2つあります。parseInt()メソッドとvalueOf()メソッドです。この記事では、Javaのデータ型の基本を解説し、両方のメソッドを使って文字列を整数に変換する方法を、実際のコード例とともに紹介しました。

なお、両者の違いとして、parseInt()は基本データ型のintを返すのに対し、valueOf()はラッパークラスであるIntegerオブジェクトを返すという点も覚えておくとよいでしょう。これで、あなたもプロのようにJavaで文字列を整数に変換できるようになりました!

  1. Pythonで整数を8進数の文字列に変換する方法を解説

    Pythonで整数を8進数に変換するには?Pythonでは、組み込み関数 oct() を使うことで、任意の整数を8進数表現の文字列に簡単に変換できます。この関数は、8進数であることを示す接頭辞「0o」が付いた文字列を返します。oct() 関数の基本的な使い方引数に整数を渡すだけで、8進数表現の文字列が得られます。10進数はもちろん、16進数や2進数で書かれた整数リテラルも変換できます。>>> oct(100) 0o144 >>> oct(0x10) 0o20 >>> oct(10) 0o12負の整数の場合負の整数を渡した場合も問題なく動作し

  2. Pythonで整数を16進数の文字列に変換する方法を解説

    Pythonで整数を16進文字列に変換する基本の方法Pythonでは、組み込み関数 hex() を使うことで、任意の整数を簡単に16進数表記の文字列へ変換できます。変換結果には自動的に「0x」というプレフィックスが付きます。>>> hex(100) 0x64 >>> hex(4095) 0xfff >>> hex(31) 0x1fhex()関数のポイントhex() 関数は引数として整数(int型)を受け取り、16進数を表す文字列(str型)を返します。負の整数を渡した場合は、マイナス記号が付いた形式で出力されます。>>>