単項数値昇格(unary numerical promotion)
Java講座 用語集
索引へ戻る
Java講座のページ
単項数値昇格(unary numerical promotion)
ある種の単項演算において、
オペランド
に対してに自動的に行われる型変換のこと。変換は、以下の手順で行われる。
オペランド
のコンパイル時の型がByte、Short、Character、Integerである場合、アンボクシング変換の対象となる。その結果が
基本型の拡大変換
または恒等変換によってint型の値へと変換される。
そうでなく、
オペランド
のコンパイル時の型がLong、Float、Doubleである場合、アンボクシング変換の対象となる。
そうでなく、
オペランド
のコンパイル時の型がbyte、short、charである場合、単項数値昇格によって
基本型の拡大変換
が適用され、
オペランド
はint型の値へと変換される。
そうでなければ、単項数値
オペランド
はそのまま残され、変換されない。
いずれの場合も、その後数値集合変換が適用される。 単項数値昇格は、以下のような状況の式に対して実行される:
配列生成式の次元式
配列アクセス式のインデックス式
単項プラス演算子
の
オペランド
単項マイナス演算子
の
オペランド
ビット単位の補数演算子
の
オペランド
シフト演算子>>、>>>、<<おける個々の
オペランド
(右
オペランド
のシフト数がlongであっても、シフトされる左
オペランド
がlongへと格上げされることはない)。
□
索引へ戻る