文字/バイト/ short型と付加型変換

オリジナルリンク:https://blog.csdn.net/LYRIC_315/article/details/47608063

まず、次のコードを見て


byte b1=1,b2=2;
b3=b1+b2;
final byte b4=4,b5=5;
b6=b4+b5;

通常の割り当てかどうかB3、B5と尋ねますか?

答えがなければならない:B3が正常に割り当てることができない、変換のタイプは、B3 =(バイト)(B1 + B2)を必要と; B6が正しく割り当てることができます。

分析:

Javaでは、とき算術演算の基本タイプ、バイトの大きなを入力するために小さなバイトの型変換の現象が起こります。ショートバイトため、チャーは、演算の結果が自動的にINTを入力するバイトint型変数の数より少ない変換されています。バイトのコンパイルまたは実行短いと対応するデータ型int、ブール値、および対応するデータ型intゼロ拡張CHARデータ型のための符号拡張データ型でJavaコンパイラ。したがって、プロセスブールで、バイトは、短い、及びチャーのアレイも対応するint型のバイトコード命令で処理されます。したがって、データのほとんどのタイプの動作は、上述した実際型intに対応する操作タイプとして使用されます。次のとおりです。


short a=1, b=2;
short c=a+b;
System.out.println(c);

コンパイル時に、彼らは「スレッドでの例外」メイン「でjava.lang.Error:未解決のコンパイルの問題:型の不一致:shortにint型から変換できません」と報告し、+ bはint型であることがわかる結果で見ることができます。

操作が型変換例外が発生しない行った場合、最終的な変数を変更された場合、ここに焦点を当てます。


final short a=1, b=2;
short c=a+b;
System.out.println(c);

操作は完全にOKですので、変数の基本的なタイプの最終修正の理由は、それらの間の直接の操作がハードコーディングされたとしても中間結果ではなく、直接割り当てになった、型変換も例外ではありませんA。

おすすめ

転載: www.cnblogs.com/codecheng99/p/12431997.html