A Clockwork …

~雑記メモ~

演算時の昇格

Javaって演算時に型変換が発生します。

具体的には次を見てみましょう。

		short s1 = 1;
		short s2 = 2;
		short s3 = s1 + s2;

これはこのままではエラーです。
なぜなら、s1 + s2の結果がint型なため、short型のs3へ代入することができないからです。
そのために、s3をどうしてもshort型で扱いたい場合は、次のようになります。

		short s1 = 1;
		short s2 = 2;
		short s3 = (short) (s1 + s2);


演算時の昇格は、常時発生します。

以下の様なルールで昇格されます。

1. 演算の値がlong型の場合は、演算結果はlong型に変換
2. long型が存在しない場合、演算結果はint型に変換

基本的には、通常変数はint型で扱い、桁が必要であればlong型を最初から使いましょう。
そして、昇格が発生しないようなコードを目指しましょう。

本日は以上です。