算術演算時のプリミティブ型変換

各オペランドの型が異なる場合、一番大きいサイズの型に変換する。ただし、int型より小さい型は、すべてint型に変換する。

算術演算時のプリミティブ型変換ルール

int型 < long型 < float型 < double型 」の不等式に基づき、一番大きいサイズの型に変換する。

int型より小さい型(byte型short型char型)は、すべてint型に変換する。

int型に自動変換する例

1
byte型変数 + byte型変数
1
byte型変数 + short型変数
1
short+ short型変数

float型に自動変換する例

1
float型変数 + byte
1
float型変数 + int

サンプル

SampleClass.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package samplePackage;

public class SampleClass {

    public static void main( String[] args ){

        // byte型変数に「100」を代入。
        byte $byte = 100;

        // short型変数に「100」を代入。
        short $short = 100;

        // float型変数に「1.23」を代入。
        float $float = 1.23F;

        // int型変数に、「byte型変数+short型変数」の計算結果を代入。
        int $int = $byte + $short;
        System.out.println( "int型変数$intの値は、「" + $int + "」である。" );

        // float型変数に、「float型変数+int型変数」の計算結果を代入。
        float $floatB = $float + $int;
        System.out.println( "float型変数$floatBの値は、「" + $floatB + "」である。" );

    }

}

実行結果

int型変数$intの値は、「200」である。
float型変数$floatBの値は、「201.23」である。