English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
このチュートリアルでは、サンプルを使ってJavaの 型変換およびその型について。
学習Javaの型変換の前に、ご自身が理解していることを確認してください。Java データ型。
あるデータ型(int、float、doubleなど)の値を別のデータ型に変換するプロセスを型変換と呼びます。
Javaでは、13の型変換があります。しかし、このチュートリアルでは、主な2つの型にのみ焦点を当てます。
1、自動型変換
2、拡張変換
以下の自動型変換中、Javaは自動的にデータ型を一種から別の種類に変換します。
class Main { public static void main(String[] args) { //int型変数の作成 int num = 10; System.out.println("整数値: " + num); //双精度型に変換する double data = num; System.out.println("双精度値: " + data); } }
出力結果
整数値: 10 双精度値: 10.0
上記の例では、numという名前のint型変数をdataという名前の双精度型変数に割り当てました。
ここでは、Javaがまずint型データをdouble型に変換し、それをdouble変数に割り当てます。
以下の自動型変換この場合、小さいデータ型(小さいサイズを持つ)は大きいデータ型(大きいサイズを持つ)に変換されます。そのため、データロスはありません。これは、この種の変換が自動的に発生する理由です。
注意:これはまた暗黙的な型変換。
以下の強制的な型変換中、データ型を手動で一種から別の種類に変換するために、括弧を使用します。
class Main { public static void main(String[] args) { //双精度型変数の作成 double num = 10.99; System.out.println("double値: " + num); //int型に変換する int data = (int)num; System.out.println("integer値: " + data); } }
出力結果
double値: 10.99 integer値: 10
上記の例では、numという名前のdouble変数をdataという名前のint型変数に割り当てました。
この行に注意してください
int data = (int)num;
ここでは、括弧内のintキーワードはnum変数がint型に変換されることを示しています。
以下の強制的な型変換この場合、大きいデータ型(大きいサイズを持つ)は小さいデータ型(小さいサイズを持つ)に変換されます。そのため、データロスが発生します。これは、この種の変換が自動的に発生しない理由です。
注意:これはまた明示的な型変換。
Javaにおける他の型変換の例を見てみましょう。
class Main { public static void main(String[] args) { // int型変数の作成 int num = 10; System.out.println("整数値が: "); + num); //intを文字列型に変換する String data = String.valueOf(num); System.out.println("文字列値が: "); + data); } }
出力結果
整数値が: 10 文字列値が: 10
上記のプログラムでは、この行に注意してください
String data = String.valueOf(num);
ここでは、以下を使用しましたJava StringクラスのvalueOf()メソッドはint型変数を文字列に変換します。
class Main { public static void main(String[] args) { //文字列型変数の作成 String data = "10"; System.out.println("文字列値が: "); + data); //文字列変数を int に変換 int num = Integer.parseInt(data); System.out.println("整数値が: "); + num); } }
出力結果
文字列値が: 10 整数値が: 10
上記の例では、以下の行に注意してください
int num = Integer.parseInt(data);
ここでは、Java Integer クラスの parseInt() メソッドを使用して、文字列型変数を int 変数に変換しています。
注意:文字列変数を整数変数に変換できない場合、NumberFormatException がスローされます。