Javaの予約語の基礎
「予約語」は、Javaがあらかじめ意味を持たせている特別な単語です。プログラムで自由に使う名前(変数名・メソッド名・クラス名など)としては使えません。例えば、if や class は予約語なので、変数名にするとエラーになります。
予約語がなぜ大事か
- コンパイルエラーの原因: 予約語を名前に使うと、Javaが「それは構文に使う言葉だよ」と解釈してしまい、コードが通りません。
- コードの読みやすさ: 予約語には一定の役割があるため、使い方を覚えるとコードの意味がすぐに読めるようになります。
- ルールの理解: 予約語は「Javaの文法の柱」。仕組みを知ることで、エラーの原因に早く気づけます。
よく使う予約語を例で理解する
制御構文の予約語(処理の流れを決める)
public class ControlExamples {
public static void main(String[] args) {
int score = 75;
// if: 条件で分岐
if (score >= 80) {
System.out.println("合格(優)");
} else if (score >= 60) {
System.out.println("合格");
} else {
System.out.println("不合格");
}
// for: 回数で繰り返し
for (int i = 0; i < 3; i++) {
System.out.println("i = " + i);
}
// switch: 値で分岐
int day = 2;
switch (day) {
case 1: System.out.println("月"); break;
case 2: System.out.println("火"); break;
default: System.out.println("その他");
}
// while: 条件が真の間繰り返す
int n = 3;
while (n > 0) {
System.out.println("n = " + n);
n--; // decrement(減らす)
}
}
}
Java- ポイント:
if,else,for,switch,case,default,while,breakはすべて予約語。書き方(位置や括弧の使い方)が決まっています。
クラス・メソッド関連の予約語(コードの部品を定義)
public class Person { // class: クラス定義
private String name; // private: このクラスの中だけで使える
public Person(String n) { // public: どこからでもアクセス可能
this.name = n;
}
public String getName() { // return: 戻り値を返す
return name;
}
}
Java- ポイント:
class,public,private,returnは予約語。クラスの形やアクセス範囲を決めます。
型に関する予約語(データの種類を決める)
public class Types {
public static void main(String[] args) {
int age = 20; // int: 整数
double price = 3.5; // double: 小数
boolean ok = true; // boolean: 真偽値
char c = 'A'; // char: 文字
}
}
Java- ポイント:
int,double,boolean,charなどは「型」を表す予約語。
例外処理の予約語(エラーに備える)
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFile {
public static void main(String[] args) {
try { // try: 例外が起きそうな処理
BufferedReader br = new BufferedReader(new FileReader("data.txt"));
String line = br.readLine();
System.out.println(line);
br.close();
} catch (IOException e) { // catch: 例外が起きたときの処理
System.out.println("読み込み失敗: " + e.getMessage());
} finally { // finally: 例外の有無に関わらず最後に実行
System.out.println("終了処理");
}
}
}
Java- ポイント:
try,catch,finallyはセットで使い、失敗に強いコードを書けます。
やりがちなミスと確実に避けるコツ
- 予約語を変数名にしてしまう:
int switch = 1; // ← エラー(switchは予約語)- 対策: 名前の先頭を名詞にする(例:
switchNumber,mode)や、英単語を少し変える(swやoption)と安全。
- 対策: 名前の先頭を名詞にする(例:
- 真偽値やnullを名前にする:
boolean true = false; // ← エラー String null = "text"; // ← エラー- 対策:
true,false,nullは「リテラル」。予約語ではないけれど、識別子として使えない特別な値だと覚える。
- 対策:
varの誤解:- 注意:
varは「予約語」ではないが、Java 10以降でローカル変数の型推論に使われる特別な識別子。変数宣言の先頭でしか使えません。 - 例:
var count = 5; // OK(intとして推論) // varをクラス名やフィールド名としては使わない方が無難
- 注意:
手を動かす練習(例題)
例題1: 予約語を避けて適切な変数名にする
- 課題: 次のエラーになるコードを、正しく動くように変数名を変更してください。
public class Sample1 {
public static void main(String[] args) {
int class = 3;
int for = 10;
System.out.println(class + for);
}
}
Java- ヒント:
class→classNumber、for→loopCountのように「意味を保ちながら」予約語を避ける。
例題2: 制御構文の使い分け
- 課題:
scoreに応じて評価を表示するプログラムを書いてください。- 80以上: “A”
- 60以上80未満: “B”
- それ以外: “C”
- 例解:
public class Grade {
public static void main(String[] args) {
int score = 73;
if (score >= 80) {
System.out.println("A");
} else if (score >= 60) {
System.out.println("B");
} else {
System.out.println("C");
}
}
}
Java例題3: 例外処理の型を意識する
- 課題: 数値文字列を整数に変換し、失敗したらメッセージを表示してください。
- 例解:
public class ParseIntExample {
public static void main(String[] args) {
String input = "123a";
try {
int value = Integer.parseInt(input);
System.out.println("変換成功: " + value);
} catch (NumberFormatException e) {
System.out.println("整数に変換できません: " + input);
}
}
}
Java学ぶ順番のおすすめ
- 基本の制御構文:
if,else,switch,for,while,break,continue - 型と宣言:
int,double,boolean,char,long,short,byte,float,class,interface - アクセス修飾子:
public,private,protected,static,final - 例外処理:
try,catch,finally,throw,throws - 応用で遭遇するもの:
this,super,new,package,import,return
