Java | 「変数」の宣言の基本

Java Java
スポンサーリンク

変数の基礎・練習問題(全15問)

ここでは「変数の宣言・初期化・代入・型の扱い」をしっかり身につけるための
練習問題 全15問セット(解答+解説付き) を紹介します。


問1:整数を使う基本

整数型変数 a に 7 を入れて、3 倍した結果を表示してください。

解答:

public class Q1 {
    public static void main(String[] args) {
        int a = 7;
        a = a * 3;
        System.out.println(a); // 21
    }
}
Java

解説:
int は整数を扱う型。
「変数に値を入れて、計算結果を再代入」する基本の流れを確認。


問2:小数を使う

半径 radius = 2.5 の円の面積を求めて表示してください。
円の面積=πr²(π = 3.14 とする)

解答:

public class Q2 {
    public static void main(String[] args) {
        double radius = 2.5;
        double area = 3.14 * radius * radius;
        System.out.println(area); // 19.625
    }
}
Java

解説:
double は小数を扱う型。
整数(int)で計算すると小数点以下が切り捨てられるため注意。


問3:文字の操作

文字 ch に ‘Z’ を入れて、1つ前の文字(’Y’)を求めて表示してください。

解答:

public class Q3 {
    public static void main(String[] args) {
        char ch = 'Z';
        char prev = (char)(ch - 1);
        System.out.println(prev); // Y
    }
}
Java

解説:
char は実際には整数として扱われており、1を引くと前の文字コードの文字になる。


問4:文字列を結合する

firstName = "Taro", lastName = "Yamada" を結合して
「フルネーム」を表示してください。

解答:

public class Q4 {
    public static void main(String[] args) {
        String firstName = "Taro";
        String lastName = "Yamada";
        String fullName = firstName + " " + lastName;
        System.out.println(fullName); // Taro Yamada
    }
}
Java

解説:
+ は文字列同士をつなぐ演算子。数値と違って加算ではなく「連結」。


問5:未初期化エラー

次のプログラムはエラーになります。理由を答えなさい。

public class Q5 {
    public static void main(String[] args) {
        int n;
        System.out.println(n);
    }
}
Java

解答・解説:
ローカル変数 n は初期化されていないため、使うとエラー。
Javaではローカル変数に自動初期値は入らない。


問6:代入の順番

次のコードを完成させて、x = 5, y = 10 のときの合計を表示してください。

解答:

public class Q6 {
    public static void main(String[] args) {
        int x = 5;
        int y = 10;
        int total = x + y;
        System.out.println(total); // 15
    }
}
Java

解説:
変数を先に宣言してから使うこと。x + y の結果を別の変数に代入できる。


問7:型の不一致

次のコードはエラーになります。なぜでしょう?

public class Q7 {
    public static void main(String[] args) {
        int num = 10;
        num = "10";
    }
}
Java

解答・解説:
右辺 "10" は文字列、左辺 num は整数型。
型が一致しないため代入できない(型の不一致エラー)。


問8:boolean(真偽値)を使う

int score = 85; のとき、score が 80 以上なら true、そうでなければ false
変数 isPassed に代入して表示してください。

解答:

public class Q8 {
    public static void main(String[] args) {
        int score = 85;
        boolean isPassed = score >= 80;
        System.out.println(isPassed); // true
    }
}
Java

解説:
比較演算の結果は boolean 型。>= は「以上」を意味する。


問9:まとめて宣言

同じ型の変数をまとめて宣言して、合計を求めてください。
a = 2, b = 3, c = 4

解答:

public class Q9 {
    public static void main(String[] args) {
        int a = 2, b = 3, c = 4;
        int sum = a + b + c;
        System.out.println(sum); // 9
    }
}
Java

解説:
同じ型の変数は1行で宣言できる。
複数行に分けても結果は同じ。


問10:キャストを体験

次のプログラムを完成させて、double 型から int 型に変換し、小数点を切り捨てて表示してください。

解答:

public class Q10 {
    public static void main(String[] args) {
        double pi = 3.14159;
        int i = (int) pi;
        System.out.println(i); // 3
    }
}
Java

解説:
(int) をつけると強制的に整数に変換(キャスト)。
小数点以下は切り捨てられる。


問11:変数の更新

int count = 0; として、3 回加算した結果を表示してください。

解答:

public class Q11 {
    public static void main(String[] args) {
        int count = 0;
        count = count + 1;
        count = count + 1;
        count = count + 1;
        System.out.println(count); // 3
    }
}
Java

解説:
代入文は「右辺を計算 → 左辺に代入」の順。
つまり count = count + 1; は「count を 1 増やす」。


問12:文字列と数値の違い

次の出力結果を予想してみよう:

public class Q12 {
    public static void main(String[] args) {
        int a = 10;
        String b = "10";
        System.out.println(a + a);
        System.out.println(b + b);
    }
}
Java

解答・解説:

出力:
20
1010

数値同士は足し算、文字列同士は連結になる。
型によって演算子の意味が変わる!


問13:var を使った宣言

Java 10 以降では var が使えます。次のプログラムを完成させて型推論を確認してください。

解答:

public class Q13 {
    public static void main(String[] args) {
        var x = 5;          // int 型になる
        var y = "hello";    // String 型になる
        System.out.println(x + 1);
        System.out.println(y + " world");
    }
}
Java

解説:
var は「右辺の型から自動的に型を決める」。
ただし右辺がない宣言(例:var a;)はできない。


問14:スコープの理解

次のプログラムの出力を予想してみよう:

public class Q14 {
    public static void main(String[] args) {
        int x = 10;
        if (x > 5) {
            int y = 20;
            System.out.println(x + y);
        }
        // System.out.println(y); // ← エラー!なぜ?
    }
}
Java

解答・解説:
ブロック { } の中で宣言した変数はその中でしか使えない。
yif 文の中でしか有効ではないため、外で使うとエラー。


問15:入力値を使って変数に代入(応用)

次のコードを完成させて、ユーザーが入力した年齢を1年後の年齢として表示してください。

解答:

import java.util.Scanner;

public class Q15 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("年齢を入力してください:");
        int age = sc.nextInt();
        int next = age + 1;
        System.out.println("来年は " + next + " 歳になります。");
        sc.close();
    }
}
Java

解説:
Scanner は標準入力を扱うクラス。
変数に値を代入する流れが「入力 → 計算 → 出力」でつながる実用例。


まとめ:変数の学びポイント

覚えること内容
宣言の形型 変数名;
初期化型 変数名 = 値;
代入変数名 = 新しい値;
型の違いint / double / char / String / boolean
注意点未初期化使用禁止・型不一致エラーに注意
コツ「宣言 → 代入 → 使用」の順番を守る

次のステップとしては
👉 「変数のスコープ(有効範囲)」
👉 「定数(final)」
👉 「演算と型変換」
を練習していくと、基礎がしっかり固まります。

Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました