Java ラッパークラス 練習問題(10問+解答・解説)
では、今回は 「Javaのラッパークラス(Wrapper Class)」の練習問題10問 を、
初心者でも自分で手を動かして学べる形式 で紹介します。
各問題は、
🧩「出題」→ 💡「ヒント」→ ✅「解答コード」→ 📝「解説」
の順で見やすくまとめています。
第1問:文字列をintに変換しよう
🧩 問題
文字列 "1234" を int 型に変換して、数値として出力してください。
💡 ヒントInteger.parseInt() を使うと文字列を整数に変換できます。
✅ 解答コード
public class Q1 {
public static void main(String[] args) {
String str = "1234";
int num = Integer.parseInt(str);
System.out.println(num + 10); // 数値として足し算できる!
}
}
Java📝 解説parseInt() は文字列を「整数値」に変換します。valueOf() も似ていますが、返すのは Integer オブジェクトです。
第2問:文字列をdoubleに変換して計算しよう
🧩 問題
文字列 "3.5" を double に変換して、× 2 の計算結果を出力してください。
✅ 解答コード
public class Q2 {
public static void main(String[] args) {
String str = "3.5";
double d = Double.parseDouble(str);
System.out.println(d * 2);
}
}
Java📝 解説Double.parseDouble() は小数点を含む文字列を実数値に変換します。
第3問:NaNを判定してみよう
🧩 問題0.0 / 0.0 の結果が「NaN」であることを Double.isNaN() で判定してください。
✅ 解答コード
public class Q3 {
public static void main(String[] args) {
double nanValue = 0.0 / 0.0;
System.out.println(Double.isNaN(nanValue));
}
}
Java📝 解説NaN(Not a Number)は「数値で表せない値」。isNaN() で真偽値(true/false)を返します。
第4問:Booleanを使って真偽値を変換しよう
🧩 問題
文字列 "true" を boolean に変換し、if 文で「真の場合に出力」してください。
✅ 解答コード
public class Q4 {
public static void main(String[] args) {
String str = "true";
boolean flag = Boolean.parseBoolean(str);
if (flag) {
System.out.println("真です!");
}
}
}
Java📝 解説Boolean.parseBoolean("true") は true を返し、
それ以外はすべて false になります。
第5問:Characterで文字の種類を判定しよう
🧩 問題'8' が数字かどうかを判定してください。
✅ 解答コード
public class Q5 {
public static void main(String[] args) {
char c = '8';
System.out.println(Character.isDigit(c));
}
}
Java📝 解説Character.isDigit() は文字が「数字(0〜9)」かを判定します。
同様に isLetter() はアルファベットかどうかを判定できます。
第6問:Characterで大文字小文字を変換しよう
🧩 問題
文字 'b' を大文字に、'Z' を小文字にして出力してください。
✅ 解答コード
public class Q6 {
public static void main(String[] args) {
System.out.println(Character.toUpperCase('b'));
System.out.println(Character.toLowerCase('Z'));
}
}
Java📝 解説Character.toUpperCase() / toLowerCase() は英字変換に便利です。
第7問:Longの最大値を出力しよう
🧩 問題Long クラスを使って、long 型の最大値を出力してください。
✅ 解答コード
public class Q7 {
public static void main(String[] args) {
System.out.println(Long.MAX_VALUE);
}
}
Java📝 解説MAX_VALUE は定数(固定の値)として、型の最大値を保持しています。Long.MIN_VALUE で最小値も確認できます。
第8問:Floatの無限大を確認しよう
🧩 問題1.0f / 0.0f の結果を出力し、それが無限大かどうか Float.isInfinite() で調べてください。
✅ 解答コード
public class Q8 {
public static void main(String[] args) {
float inf = 1.0f / 0.0f;
System.out.println(inf);
System.out.println(Float.isInfinite(inf));
}
}
Java📝 解説1 / 0 はエラーですが、float や double の場合は「Infinity(無限大)」になります。
第9問:Shortで文字列を数値に変換しよう
🧩 問題
文字列 "100" を short 型に変換して出力してください。
✅ 解答コード
public class Q9 {
public static void main(String[] args) {
String str = "100";
short s = Short.parseShort(str);
System.out.println(s);
}
}
Java📝 解説Short.parseShort() は文字列を short 型に変換します。Short.valueOf() はオブジェクト(Short)を返します。
第10問:Byteで範囲外エラーを実験しよう
🧩 問題Byte.parseByte("200") を実行してみるとどうなるか確認してください。
✅ 解答コード
public class Q10 {
public static void main(String[] args) {
try {
byte b = Byte.parseByte("200"); // byteの範囲外(-128〜127)
System.out.println(b);
} catch (NumberFormatException e) {
System.out.println("範囲外のためエラーが発生しました!");
}
}
}
Java📝 解説byte の範囲は -128〜127 です。200 は範囲外なので NumberFormatException が発生します。
まとめ:学べるポイント
| 問題 | 学べる内容 |
|---|---|
| 1〜2 | parseInt / parseDouble の使い方 |
| 3 | NaN の意味と判定 |
| 4 | Boolean変換 |
| 5〜6 | Characterの便利メソッド |
| 7〜8 | MAX_VALUE / Infinity判定 |
| 9〜10 | Short / Byte の範囲と例外 |
