練習問題:識別子(変数名)のルールと慣習
では、Java の 「変数名(識別子)の付け方」 をしっかり定着させるための
練習問題10問セット(回答+解説付き)を紹介します。
第1問
次のうち、正しい変数名はどれでしょう?
a. 2ndNumber
b. total_Amount
c. user-name
d. $value
答え: b, d
解説:
- 変数名は数字で始められません →
2ndNumber❌ - ハイフン
-は使えません →user-name❌ _と$は使えます →total_Amount,$value✅
第2問
次のコードのうち、コンパイルエラーになるものはどれでしょう?
int 1count = 10;
int _count = 20;
int count1 = 30;
int $count = 40;
Java答え: int 1count = 10;
解説:
識別子の最初に数字は使えません。
それ以外(_count, count1, $count)はOK。
第3問
Javaで使えない識別子(予約語)を選びましょう。
a. if
b. int
c. for
d. count
答え: a, b, c
解説:if, int, for はすべてJavaの予約語(文法に使われる単語)。
これらは変数名に使えません。count は自由に使えます。
第4問
次の変数名のうち、大文字・小文字の違いで別の変数として扱われるのはどれ?
a. score
b. Score
c. SCORE
答え: すべて別の変数
解説:
Javaは大文字・小文字を区別します。score と Score は別物。
第5問
次のうち、「定数」として書き方が正しいものはどれ?
a. final int max = 10;
b. final int MAX = 10;
c. final int Max = 10;
答え: b
解説:
慣習として定数(final 付き)はすべて大文字+アンダーバー区切りが基本。MAX, TAX_RATE など。
第6問
次のうち、クラス名として正しい(慣習に合っている)のはどれ?
a. car
b. Car
c. CAR
答え: b
解説:
クラス名は単語の先頭を大文字にする(PascalCase)。
例:Student, OrderManager。
第7問
次のうち、メソッド名として推奨される書き方はどれ?
a. PrintResult()
b. printResult()
c. print_result()
答え: b
解説:
メソッド名は小文字で始める camelCase が基本。printResult() のように2語目以降の頭を大文字に。
第8問
次の変数宣言のうち、意味がわかりにくいものを選びなさい。
a. int x;
b. int userCount;
c. int totalScore;
答え: a
解説:x は数学的な一時変数以外では意味が不明。userCount, totalScore のように「何を表すか」がわかる名前が望ましい。
第9問
次のうち、Javaとしては正しいけど実務では避けるべき変数名はどれ?
a. $price
b. _value
c. total
答え: a
解説:$ は内部処理(自動生成コードなど)で使われることがあるため、通常のプログラムでは避けるのが無難です。_value や total はOK。
第10問
次のうち、変数の命名規則に従っていて読みやすいのはどれ?
a. cnt
b. count
c. countOfItems
答え: c
解説:cnt は略語でわかりづらく、count は抽象的。countOfItems のように少し具体的にすると、チーム開発で理解しやすいコードになります。
まとめ(チェックリスト)
| ルール・慣習 | 内容 |
|---|---|
| ❌ 数字で始めない | 例:1name はNG |
✅ _ と $ は使える | ただし $ は避けよう |
| ✅ 大文字小文字を区別 | score と Score は別物 |
| ❌ 予約語は使えない | if, for, int など |
| ✅ クラス名は大文字で始める | Car, UserInfo |
| ✅ メソッド名・変数名は小文字で始める | printData(), userCount |
| ✅ 定数は大文字+アンダーバー | MAX_COUNT |
| ✅ 意味のある名前を | totalPrice など具体的に |
