ホームページ >Java >&#&チュートリアル >Javaでの型変換
さまざまな型の変数と定数を式内にまとめたら、それらを同様の型に変更できます。単一の事前定義された型を別の型に変換するこの手法は、Java では型変換として知られています。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
プログラミング言語で使用される変換には 2 つの異なるタイプがあります。
型変換がプログラマの介入なしにコンパイラーを通じて即座に実行される場合、その型変換は暗黙的な型変換と呼ばれます。コンパイラは基本的に、すべてのオペランドを最大のオペランドのデータ型に合わせて実行することを推奨します。データ変換中にデータの損失は発生しません。変換中に例外がスローされる可能性がないため、タイプセーフとして知られています。小さいサイズの量の変換が大きすぎると、暗黙的な変換になる可能性があります。整数型データを float に変換します。
float i=0; int j=10; i=j;
// float は整数よりも大きい可能性があるため、これは暗黙的な変換である可能性があり、したがってデータの不足はなく、また例外もありません。
プログラマを通じて強制できる型変換は、明示的な型変換として知られています。基本的に、プログラマは特定の型になるように式を作成します。明示的な型変換は、型キャストとして知られています。データの損失は、データ変換中に発生する場合と発生しない場合があります。したがって、詳細が失われる可能性があります。型キャストせずに実行しようとすると、エラーがスローされる可能性があります。より大きな数値からより小さなサイズの数値への変換は、明示的な変換である可能性があります。
float k=123.456 int i= (int) k
// これは、(int) が型キャストである演算子と同様に、明示的な変換である可能性があります。この時点では、なんとか例外を回避できるかもしれませんが、目に見えるデータの損失が見られることがわかります。つまり、i=123
// .456 は変換プロセスで削除できます
他のプログラミング言語と同様、Java には 2 種類の変換があります。
型変換の例については、以下で詳しく説明します:
コード:
ここには単純なプログラムがあり、先頭に float、double、byte、short、long の宣言があり、変数には、float が floatVal のように、その型を識別しやすいように名前が付けられています。
コード:
長いのは長いValです
コード:
プログラムが実行されると、成功メッセージが出力されるだけです。
それでは、ここで型変換の一部がどのように機能するかを見てみましょう。それでは、まず変数を作成してみましょう。ショートがあるので、それを結果と呼びます。
実際に、これを result1 と呼びましょう。そして簡単な課題をやってみましょう。したがって、まず byteVal をそれに割り当てます。さて、予想どおり、これを実行すると、正常に実行されます。
コード:
出力:
これは拡張変換であるため、バイトを short に割り当てることができるため、これが有効な割り当てであることがわかります。
ただし、この byteVal を代わりに longVal にすると、実際には Long になります。これを実行すると、互換性のないタイプ、ロングからショートへの変換が失われる可能性があるというエラー メッセージが表示されます。
コード:
ここでできることは、明示的なキャストを行うことです。この前にショートを入れておきます。これで有効になったので、実行できます。
コード:
そしてもちろん、それはうまくいきます。それはナローコンバージョンだったため、ロングがショートに入ることができなかったからです。
出力:
しかし、明示的なキャストを前に置くことで、有効になります。必要に応じて、非常に明示的にキャスト表記を使用して、バイト変換が正当であることはわかっていますが、そこにショート キャストを入れることでキャストしていることを明示的に示したいと言うことができます。それは完全に合法です。
コード:
出力:
それでは、別のシナリオを見てみましょう。 result2, という別の変数を作成します。result2 も同様に short です。ここでやりたいことは、byteVal を取得して、longVal を減算することです。これで、式の結果はその中の最大の整数のサイズ、つまり長さになるため、これは合法ではないことが分かりました。
コード:
したがって、これを実行すると、ロングからショートへの変換が無効であるというエラーが表示されます。
しかし、結果を短くして先に進みたいとします。キャストをする必要があります。ただし、ここではこの時間を結果全体の値としてキャストしたいと考えています。そこで、ここでその前にショートキャストを配置します。
ここの前にショートキャストを置きます。そして全体を括弧で囲みます。そして実行してください。
コード:
正常に実行されます。
出力:
ここで、result3 という別の変数を宣言しますが、これは long として宣言します。結果 3 が得られました。ここで行うことは、longVal – floatVal を割り当てることです。そこでそれを実行すると、整数型と浮動小数点型がある場合は常に、結果が浮動小数点型になるため、float から long への変換時にエラーが発生します。
コード:
それでは、結果を float に変換しましょう。したがって、これをフロートにすることで、先に進んで実行できるはずです。そして正常に実行されます。
コード:
出力:
しかし、ここで floatVal を取得し、これを doubleVal に変換し、これを実行しようとすると、エラーが発生します。整数を実行すると結果が double になるためです。浮動小数点は、方程式内の最大の浮動小数点のサイズです。
コード:
それでは、この結果を倍にして実行しましょう。
コード:
出力:
1. Java では変数は厳密に型指定されます
2. プリミティブ型
3.型変換
以上がJavaでの型変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。