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

Java Java
スポンサーリンク

Java基礎 — 文と空白・改行の練習問題 10問セット

では、さきほどの内容(「文」「空白・改行」「セミコロン」「インデント」「ブロック」など)をしっかり理解できるように、初心者向けの練習問題 10 問セット(+解答・解説付き) を用意しました。
段階的にレベルアップする形で構成しています。

問1:順番に実行される文

次のコードを実行すると、出力結果はどうなりますか?

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello");
        System.out.println("World");
    }
}
Java

答え:

Hello
World

解説:
文は上から順に実行されます。1つ目の文で「Hello」、2つ目で「World」が出力されます。


問2:セミコロンの抜け

次のコードにある間違いを直しなさい。

System.out.println("Start")
System.out.println("End");
Java

答え:

System.out.println("Start");
System.out.println("End");
Java

解説:
文の終わりには必ずセミコロンが必要です。


問3:識別子の途中にスペース

次のコードのどこが間違っていますか?

Sys tem.out.println("Hi");
Java

答え:
System の途中にスペースが入っているためエラー。
正しくは:

System.out.println("Hi");
Java

問4:空白や改行を自由に使ってもよい例

次のプログラムはエラーになりますか?

System.out
    .println(
        "Hello"
    );
Java

答え:
✅ 正しく動作します。

解説:
空白や改行は識別子の途中でなければ自由。構文的には問題ありません。


問5:複数の文をブロックでまとめる

次のコードの出力を答えよ。

if (true) {
    System.out.println("One");
    System.out.println("Two");
}
System.out.println("Three");
Java

答え:

One
Two
Three

解説:
if (true) のブロック { ... } 内の2文が実行され、続いて Three も出力されます。


問6:ブロックの波かっこがずれていても動く?

次の2つの書き方はどちらも動く?違いは?

if (true) {
    System.out.println("A");
}
Java
if (true)
{
    System.out.println("A");
}
Java

答え:
✅ どちらも正しく動く。
違い:
書式(見た目)が違うだけ。構文的には同じ。プロジェクトによってスタイルを統一するのが望ましい。


問7:ブロックを忘れた場合

次のコードの出力を答えよ。

if (true)
    System.out.println("A");
    System.out.println("B");
Java

答え:

A
B

解説:
if にブロック {} を付けていない場合、if の対象は直後の1文だけ。
Bif の外なので常に実行される。


問8:インデント(字下げ)の役割

次のコードは動作しますか?

public class Main {
public static void main(String[] args) {
System.out.println("No indent");
}
}
Java

答え:
✅ 動作する。

解説:
インデントは見た目の整形だけで、構文には影響しません。
ただし読みづらくなるので、インデントを付けるのがマナーです。


問9:文を途中で改行するときのルール

次の2つのうち、どちらが正しく動くでしょう?

System
.out
.println("OK");
Java

System.out.
println("NG");

答え:
① 正しい ✅
② 間違い ❌

解説:
ピリオド(.)の後で改行するとコンパイルエラーになる場合があります。
. の前で改行するのが安全。


問10:少し応用 — 改行コードを使う

次のコードの出力結果を答えなさい。

System.out.println("A\nB\nC");
Java

答え:

A
B
C

解説:
\n は改行コード。文字列の中で行を変えたいときに使います。


発展練習(自分でやってみよう)

  1. if (false) に変えて、ブロック内の文が実行されないことを確認する。
  2. セミコロンをわざと抜いて、コンパイルエラーメッセージを読んでみる。
  3. インデントを全部消したり、変えたりしても動作が同じか確認する。
  4. 1つの行に複数の文を並べてみる: System.out.println("A"); System.out.println("B"); → これも動く(ただし見づらい!)

まとめチェック(クイック復習)

覚えること内容
文(statement)命令の1単位。末尾に ; が必要
実行順序上から順に実行される
ブロック {}複数の文をまとめる
空白・改行自由に入れてOK(識別子の途中はNG)
インデント読みやすくするために使う(構文に影響なし)
\n改行コード(文字列中で改行する)
タイトルとURLをコピーしました