Java | 「文」と空白・改行の扱い

Java Java
スポンサーリンク

Javaの「文」と空白・改行の基本

プログラミングを始めたばかりだと、「どこで改行するの?」「セミコロンって何?」がつまずきやすいポイント。ここでは、Javaの文(ステートメント)と空白・改行・インデントのルールを、例題でしっかり理解できるように解説します。


文とは何か

  • 文の定義: Javaのプログラムは「文(ステートメント)」の連続でできています。1つの命令が1つの文です。
  • 終わりの印: 文の終わりは必ずセミコロン(;)で区切ります。
  • 実行順序: 文は上から順番に実行されます。
System.out.println("Hello");
System.out.println("How are you?");
System.out.println("Bye");
Java
  • この3つはそれぞれ1つの文。順番に表示されます。

空白や改行の扱い

  • 単語の間の空白: 単語どうしの区切りとしての空白は必要です(例: public class Hello)。
  • 自由に入れてよい場面: 単語の途中でなければ、空白や改行は「見やすくするため」に自由に入れてOK。
  • 絶対にダメな場面: 単語の途中に空白を入れるとエラーになります。
// OK: 改行や空白を使っても単語の途中でなければ問題なし
public class Hello {
    public static void main(String[] args)
    {
        System.out.println("Hello");
        System.out.println("World");
    }
}

// NG: 単語の途中の空白
Sys tem.out.println("Hello"); // ← これはコンパイルエラー
Java

ポイントは「Javaは単語のつながりを重視する」こと。Systemは1語なので分割できません。


インデント(字下げ)の意味

  • 役割: インデントは「コードの構造がひと目でわかるようにするための見た目のルール」。
  • よく使う幅: スペース4つが定番(エディタが自動でやってくれることも多い)。
  • 動作への影響: インデントがなくても動きますが、読みづらくてミスが増えるので必ず入れましょう。
// インデントあり(おすすめ)
public class Hello {
    public static void main(String[] args) {
        System.out.println("Start");
        if (true) {
            System.out.println("Inside if");
        }
        System.out.println("End");
    }
}

// インデントなし(動くけど読みにくい)
public class Hello{
public static void main(String[] args){
System.out.println("Start");
if (true){
System.out.println("Inside if");
}
System.out.println("End");
}
}
Java

例題で理解する

例題1:文の終わりと改行

目標:セミコロンが文の終わりで、改行位置はある程度自由だとわかる。

public class Sample1 {
    public static void main(String[] args) {
        System.out.println("A"); System.out.println("B");
        System.out.println("C")
        ; System.out.println("D");
    }
}
Java
  • 解説: 文の終わりはセミコロンなので、1行に複数文を書いてもOK。逆に、セミコロンのあとに改行してもOK。
  • 注意: 可読性のために、基本は「1文1行」にしましょう。

例題2:空白のミスを見つける

目標:単語の途中の空白がエラー原因になることを体験。

public class Sample2 {
    public static void main(String[] args) {
        // どこがエラー?
        Syst em.out.println("Hello");
    }
}
Java
  • 解説: Systemが分割されてエラーになります。Systemは1つの単語として書く必要があります。
  • コツ: エディタの補完機能を使うとこうしたミスが減ります。

例題3:インデントの有無で可読性比較

目標:インデントの有無でコード理解の難易度が変わることを確認。

// インデントあり
public class Sample3 {
    public static void main(String[] args) {
        int x = 5;
        if (x > 3) {
            System.out.println("x is large");
        } else {
            System.out.println("x is small");
        }
    }
}

// インデントなし
public class Sample3{
public static void main(String[] args){
int x = 5;
if (x > 3){
System.out.println("x is large");
}else{
System.out.println("x is small");
}
}
}
Java
  • 解説: 構造(ifの中、elseの中)がインデントありだと直感的に分かります。チームでコードを書くなら必須。

よくある質問と落とし穴

Q
セミコロンを忘れるとどうなる?
A

コンパイルエラーになります。エラーメッセージで「; が必要です」と指摘されることが多いです。

Q
mainの丸かっこや波かっこは改行してもいい?
A

いいです。ただし一般的には)のあとに{を同じ行に置くスタイルが多いです(チームルールに従いましょう)。

Q
タブとスペース、どっちを使う?
A

どちらでも動きますが、プロジェクトのコーディング規約に合わせます。初心者は「スペース4つ」が無難。


練習課題

課題1:文を並べて出力

  • やること: 下のコードを「1文1行」で直して、結果が「A→B→C→D」と表示されることを確認。
public class Practice1 {
    public static void main(String[] args) {
        System.out.println("A"); System.out.println("B"); System.out.println("C"); System.out.println("D");
    }
}
Java

課題2:空白のエラーを修正

  • やること: 下のコードのエラー箇所を直してコンパイル成功させる。
public class Practice2 {
    public static void main(String[] args) {
        Sys tem.out.println("Fixed me!");
    }
}
Java

課題3:インデントを整える

  • やること: 下のコードにインデントを付けて読みやすくする。
public class Practice3{
public static void main(String[] args){
for(int i=0;i<3;i++){
System.out.println("i="+i);
if(i%2==0){
System.out.println("even");
}else{
System.out.println("odd");
}
}
}
}
Java

まとめ

  • 文はセミコロンで終わる。
  • 文は上から順に実行される。
  • 空白・改行は単語の途中でなければ自由。途中に入れるとエラー。
  • インデントは構造を見やすくするために必須。
タイトルとURLをコピーしました