では、Javaの数値リテラルに関する 練習問題10問 です。回答と解説も付けます。
初心者向けに、実際に手を動かして学べる内容にしています。
練習問題10問
問題1
次の整数リテラルのうち、コンパイルエラーになるものはどれですか?
int a = 100;
int b = 2147483648;
long c = 2147483648L;
Java問題2
次のコードのうち、正しく float 型に代入できるのはどれですか?
float a = 3.14;
float b = 3.14F;
float c = 2.71f;
Java問題3
long 型に 5,000,000,000 を代入する正しい書き方は?
問題4
次のうち、整数リテラルとして正しいものは?
- 0b1010
- 0123
- 1234L
- 1234.0
問題5
次のコードを修正して float 型に代入できるようにしてください。
float pi = 3.14159265;
Java問題6
double 型の変数 d に 7.89 を代入する場合、末尾に何を付ける必要がありますか?
問題7
次のコードの出力はどうなりますか?
float f = 1.2345678F;
double d = 1.23456789012345;
System.out.println(f);
System.out.println(d);
Java問題8
次のうち long 型として扱う必要があるのはどれですか?
- 100
- 2147483647
- 2147483648
問題9
次のコードの間違いを直してください。
int x = 3000000000;
float y = 12.34;
Java問題10
float 型と double 型の違いを簡単に説明してください。
🔹 回答と解説
問題1
- 答え:
int b = 2147483648;がエラー - 解説:
int型の最大値は 2,147,483,647。超える数はlong型(末尾にL)にする必要があります。
問題2
- 答え:
bとc - 解説:
float型は末尾にFまたはfを付けないと代入できません。aはエラー。
問題3
long num = 5000000000L;
Java- 解説:
5000000000はintの範囲を超えるのでLを付けてlong型にします。
問題4
- 答え: 1, 2, 3
- 解説:
- 0b1010 → 2進数表記
- 0123 → 8進数表記
- 1234L → long型
- 1234.0 → 小数なので整数リテラルではない
問題5
float pi = 3.14159265F;
Java- 解説:
float型は小数点を末尾にFまたはfを付ける必要があります。
問題6
- 答え: 末尾に何も付けなくてOK(デフォルトで
double型) - 解説: 小数リテラルは
doubleがデフォルトです。
問題7
1.2345678
1.23456789012345
Java- 解説:
floatは小数点以下 7 桁程度まで精度を保てます。doubleは 15 桁程度。
問題8
- 答え: 3 (
2147483648) - 解説: 2,147,483,648 は
intの範囲を超えるためlong型にする必要があります。
問題9
long x = 3000000000L;
float y = 12.34F;
Java- 解説:
3000000000→ int の範囲を超えるためLを付ける12.34→ float 型にはFが必要
問題10
- 答え例:
float→ 小数点以下約7桁の精度double→ 小数点以下約15桁の精度
- 解説:
doubleの方が精度が高く、大きな小数や計算に向いています。
