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

Java Java
スポンサーリンク

では「変数の宣言」をプログラミング初心者向けに、順を追って・例題つきで丁寧に説明します。Java を例にしますが、考え方は他の言語にも応用できます。

1. 変数って何?

変数は「名前を付けた入れ物」です。プログラムの中で値(数字や文字列など)を一時的に保存しておく場所です。
たとえば int score = 80; は「score という入れ物に 80 を入れたよ」という意味。


2. 宣言(データ型+変数名)と初期化(値をセットする)

Javaではまず宣言をして「この変数はどんな型か」をコンピュータに教えます。
基本の書き方:

データ型 変数名;
Java

例:

int age;      // age という整数型の変数を宣言
char grade;   // grade という文字型の変数を宣言
Java

初期化(宣言と同時に値を入れる):

int age = 20;
char grade = 'A';
Java

ポイント:

  • 「宣言」だけでは値は入っていません(ローカル変数は初期値が自動で入らないので、使う前に必ず初期化が必要です)。
  • 「宣言 → 代入(= を使う)」の順番が必要です。

3. よく使うデータ型(簡単に)

  • int : 整数(例:10, -3)
  • double : 小数(例:3.14)
  • char : 1文字(例:’A’, ‘あ’) — シングルクォート
  • String : 文字列(例:”Hello”) — ダブルクォート(参照型)
  • boolean : 真偽値(true / false

例:

int x = 5;
double pi = 3.14;
char c = 'J';
String name = "Halu";
boolean isOk = true;
Java

4. 同じ型の変数をまとめて宣言する方法

int a, b, c;        // 宣言だけ
int x = 1, y = 2;   // 宣言と同時に初期化
Java

注意:可読性のため、意味が違う変数は別行で宣言した方が親切です。


5. 型が違う値は基本的に代入できない(型の互換性)

int i;
i = 3.14;  // エラー(小数は int に入らない)
Java

ただし型変換(キャスト)を使えば強制的に変えられますが、情報が切り捨てられる可能性があります:

double d = 3.14;
int i = (int) d;  // i は 3 になる(小数点以下切り捨て)
Java

6. ローカル変数とフィールド(クラス変数)の初期値の違い

  • メソッド内部で宣言した ローカル変数 は初期化されていないと使えません(コンパイルエラーになる)。
  • クラスのフィールド(インスタンス変数)は自動でデフォルト値(int → 0, boolean → false, 参照型 → null)が入ります。

例(ローカル変数を使うときの注意):

public static void main(String[] args) {
    int n; 
    // System.out.println(n); // コンパイルエラー:n は初期化されていない
    n = 10;
    System.out.println(n); // OK
}
Java

7. 変数名のルール(基本)

  • 英字、数字、アンダースコア _ を使える(ただし最初の文字は数字不可)
  • Javaの予約語(intclass など)は使えない
  • 慣例:単語の区切りはキャメルケース(例:studentName)を使うと読みやすい

8. var(Java 10 以降の型推論)の簡単な紹介

var a = 10;       // コンパイラが a を int と判断
var s = "hello";  // s は String と判断
Java

注意:var を使っても型が決まるのは宣言時です。可読性のため使いどころを考えましょう(初心者はまず明示的に型を書くのがおすすめ)。


9. 例題(小さめ・実行可能な Java プログラム)

  1. 年齢を扱う簡単なプログラム:
public class Example1 {
    public static void main(String[] args) {
        int age = 25;              // 宣言と初期化
        System.out.println("年齢は " + age + " 歳です");
        age = age + 1;             // 代入(更新)
        System.out.println("来年は " + age + " 歳になります");
    }
}
Java
  1. 体積の計算(double を使う):
public class Volume {
    public static void main(String[] args) {
        double width = 2.5;
        double height = 3.0;
        double depth = 4.0;
        double volume = width * height * depth;
        System.out.println("体積 = " + volume);
    }
}
Java
  1. 型のエラー例(やってはいけない):
public class ErrorExample {
    public static void main(String[] args) {
        int x = 10;
        // x = "hello"; // コンパイルエラー:型が違うので代入できない
    }
}
Java

10. 練習問題(初心者向け・解答付き)

問題は自分でタイプして実行してみてください。コンパイル・実行で学ぶのが上達の近道!

問1. int 型変数 a に 7 を入れて、a を 3 倍して表示するプログラムを書いてください。
解答例:

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

問2. double 型で 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

問3. char 型変数 ch に ‘Z’ を入れて Z の前の文字(’Y’)を求めて表示してください。
解答例:

public class Q3 {
    public static void main(String[] args) {
        char ch = 'Z';
        char prev = (char)(ch - 1); // char を数値操作して戻している
        System.out.println(prev);   // 出力: Y
    }
}
Java

問4. StringfirstNamelastName を連結してフルネームを表示してください。
解答例:

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 は初期化されていないため、使用できない(コンパイルエラー)。


11. よくある間違いと対処法

  • 宣言していない変数に代入してしまう → 「変数を宣言してから代入」する。
  • 型の違う値を代入する → 型を合わせるか、キャストが必要。
  • ローカル変数を初期化し忘れる → 値をセットしてから使う。
  • 変数名に日本語やスペース、予約語を使う → 英字でわかりやすい名前にする。

12. 次に学ぶと良いこと(おすすめ)

  • 変数の「スコープ(有効範囲)」:どこで使えるか理解する
  • 配列とリスト:同じ型の複数のデータを扱う方法
  • 定数(final):値を変えたくないときに使う
  • 型変換とキャストのルール
Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました