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まとめ
- 文はセミコロンで終わる。
- 文は上から順に実行される。
- 空白・改行は単語の途中でなければ自由。途中に入れるとエラー。
- インデントは構造を見やすくするために必須。
