キャスト

int型のリテラルや定数は、ターゲット型の許容範囲に値が収まる限り、byte、short、charにキャストなしで代入できる。

short型およびchar型はいずれも16ビット長の整数だが、これらの間で暗黙的な型変換は行われない。これはshort型が符号付整数であるのにたいし、char型は符号なし整数であることによる。

算術昇格:データ型の異なるオペランドを操作する演算式に適用される、基本データ型間の変換のこと。
単項演算子に関しては次のルールが適用される。
・単項演算子が++または??ではなく、オペランドのデータ型がbyte、short、charのいずれかである場合、オペランドはint型に変換される。
・演算子が++または??の場合、どのような変換も行われない。
・オペランドのデータ型がbyte、short、charのいずれかでもない場合、どのような型変換も行われない。
例えば、つぎのコードは正常に実行される:
 short x = 9;
 x = ++x;
これに対し、つぎのコードはコンパイルエラーとなる:
 short x = 9;
 x = x + 1;

基本データ型のキャストに関するルール
・非booleanのデータ型を、非booleanの任意のデータ型にキャストすることができる。こしたキャストはなろーいんぐ変換とすることも、ワイドニング変換とすることもできる。
・boolean型は、非booleanのデータ型にキャストすることはできない。
・非booleanのデータ型は、boolean型にキャストすることはできない。

投稿者 java

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です