今日はデータ型の基本、整数型のintと浮動小数点数のデータ型doubleについての問題です。

問題 - intとdoubleの演算「難易度:中」

int型の変数aとdouble型の変数bがあります。変数aとbのどちらにも「10」が代入されています。

int a = 10;
double b = 10;

さて、次の4つの割り算の結果(System.out.println文の結果)はどうなるでしょうか?

【1】 System.out.println(a / 4);
【2】 System.out.println(b / 4);
【3】 System.out.println(a / 4.0);
【4】 System.out.println(b / 4.0);

今日はデータ型の基本、整数型のintと浮動小数点数のデータ型doubleについての問題です。

問題 - intとdoubleの演算「難易度:中」

int型の変数aとdouble型の変数bがあります。変数aとbのどちらにも「10」が代入されています。

int a = 10;
double b = 10;

さて、次の4つの割り算の結果(System.out.println文の結果)はどうなるでしょうか?

【1】 System.out.println(a / 4);
【2】 System.out.println(b / 4);
【3】 System.out.println(a / 4.0);
【4】 System.out.println(b / 4.0);

解答

【1】の出力結果は「2」。【2】【3】【4】の出力結果は「2.5」。

解説

Javaのint型は整数を扱うデータ型、double型は浮動小数点を扱うデータ型です。

【1】の場合は、int型と整数の割り算なので結果はint型となり、「2.5」ではなく、小数点が切り捨てられた整数の「2」となります。

【2】の場合は、double型と整数の割り算なので結果はdouble型となり、小数点を含む「2.5」となります。

【3】の場合は、int型と小数点を含む数値との割り算なので結果はdouble型となり、「2.5」となります。

【4】の場合は、double型と小数点を含む数値との割り算なので結果はdouble型となり、小数点を含む「2.5」となります。

小数の計算をすると、自動的にdouble型に代わるのがポイント!