Developer

【はじめてのJava】インデント、ブロック、コメント【プログラムの作り方編】
2020.09.29
Lv1

【はじめてのJava】インデント、ブロック、コメント【プログラムの作り方編】

はじめてのJava

このシリーズでは、初めてJavaやプログラミングを勉強する方向けに、Javaによるプログラミングの基礎を説明していきます。
目標レベルは、Javaの資格試験の一つである「Oracle Certified Java Programmer, Silver」(通称Java Silver)に合格できる程度の知識の習得です。
はじめてJavaやプログラムに触れる方にもできるだけわかりやすい解説を心がけていきます。


プログラムの作り方編

プログラムの作成と実行の記事ではソースコードを作成、保存ソースコードのコンパイルプログラムの実行を行いました。
また、プログラムの実行時によく発生する問題点の説明対処方法も紹介しました。

今回はJavaのソースコードを読んだり書いたりする中で知っていると便利な内容を紹介します。


目次


インデント

インデントとは、字下げ(書き出しの文字ずらし)のことです。インデントを適切に行うと文章が読みやすくなります。
Javaの場合はソースコードの各行の先頭に入っている空白のことをインデントと言います。この空白が適切にとられているとソースコードの書き出しがそろうため見やすさが格段に上がります。

Javaのインデントにはタブや半角スペースを利用します。全角スペースはインデントに使用できません(コンパイルエラーを引き起こします)。

インデントとブロックが適切に設定されているソースコードは読みやすさが上がります。読みやすいコードになるとミスが格段に減ります。

//良い例 行頭の書き出しが{に合わせてそろっているため、対応する}がぱっと見でわかる

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

//悪い例1 行頭の書き出しがずれているため見間違いを起こしやすい

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

//悪い例2 全ての行等がそろっているため、どの{と}が対応しているのかぱっと見でわからない

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

Javaの場合はインデントがずれていても動作に影響はありませんが、インデントが適切でない場合は見間違いを引き起こし、ソースコードの作成に時間がかかる原因になります。

インデントはきちんとそろえましょう。

※Pythonなどの一部の言語の場合、インデントがずれていると動作が変わります。


ブロック

 ブロック とは、ソースコード中で一つのまとまりとして認識される部分のことです。

Javaの場合は{で始まり}で終わる部分が1つのブロックと認識されます。

サンプルなどのソースコードを読む場合はブロックごとに読むことを意識するとプログラムが読みやすくなります。

ソースコードを作成する場合はブロック単位でプログラムを作成することを意識すると{ }のずれや書き忘れによるコンパイルエラーが起こりづらくなります。

インデントとブロック

ソースコード内で同じブロックになる内容はインデントを使って書き出しをそろえるとどこからどこまでがそのブロックなのかぱっと見で区別でき、ソースコードの読みやすさが格段に上がります。

public class Sample{
    public static void main(String[] args){
      //↓ここがそろっていると読みやすい
        System.out.println("ブロック開始");
        System.out.println("ここは");
        System.out.println("全部");
        System.out.println("同一の");
        System.out.println("ブロックです。");
        System.out.println("ブロックの終了");
      //↑
    }
}

メソッドブロック

 メソッドブロック とはメソッド(一緒に実行してほしい内容のまとまり)を表すブロックです。

mainメソッドはすでに出てきているので、そちらを例にメソッドブロックを説明していきます。

(メソッドについては別の記事で詳しく紹介予定ですので、今は「メソッド」という名前だけ覚えておけば大丈夫です。)

mainメソッドブロック

mainメソッドを作成した際にも以下のように{ }が使われていました。

public static void main(String[] args){ }

この{ }もブロックを表しています。特にこの場合はメソッドを表すブロックなので、メソッドブロックとも呼びます。

今回はmainメソッドのブロックなので、mainメソッドブロックです。

mainメソッドの説明をした際に{ }の中に実行してほしい内容を書くと説明しましたが、これは { から } までの間がmainメソッドブロックとして一つのまとまりとして認識されるためです。

サンプルプログラムでは以下のようになっていました。

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

System.out.println()がmainの{ }の中に入っていましたが、これはSystem.out.println()をmainメソッドブロックの一部として実行してほしかったためです。

mainメソッドブロックの{ } の外に書いた内容は、mainメソッドブロックとは認識されないため、mainメソッドを実行しても動作の対象になりません。

コメント

 コメント とは、ソースコード内に記述可能な注釈のことです。

Javaではコメントとして記述された内容はソースコードをコンパイルする際に無視されます。

ソースコードを作成する際にコメントをうまく残すと、ソースコードを見返した際にどんな動作をするプログラムなのか確認しやすくなります。

Javaではコメントをつける方法は3つあります。

  • 1行コメント
  • 複数行コメント
  • javadoc

1行コメント

1行コメントは、コメント個所から行末(改行)までがコメントになるコメント方法です。
Javaの場合は//をつけるとその後ろがコメントになります。//よりも前はコメント扱いになりません。

public class Sample{
  public static void main(String[] args){
    //ここはコメントです。
    System.out.println("Hello World!"); //このようにすると、//の後ろだけがコメントになります。
  }
}

複数行コメント

複数行コメントは、指定された範囲がコメントになるコメント方法です。
Javaの場合は/∗と∗/で囲んだ部分が複数行コメントになります。

public class Sample{
  public static void main(String[] args){
    /* ここはコメントです。 */
    /* ここもコメント
       ここもコメント
       ここもコメント */
    System.out.println("Hello World!"); /* ココもコメントです */
  }
}

javadoc

javadocは特殊なコメントです。作成したJavaのプログラムをほかの人に公開する際に、その使い方などが書かれた資料を作成する際のコメント方法です。
javadocのコメントのつけ方は以下のサンプルの通りです。javadocについてはいろいろな記載内容がありますが、初めのうちはほとんど使用しないので詳細は割愛します。

public class Sample{
  /*
   * ここにjavadocを記載します。
   * ここにjavadocを記載します。
   */
  public static void main(String[] args){
    System.out.println("Hello World!");
  }
}

コメントの用途

コメントは「注釈を残す」ために使うほかに「ソースコード内の問題個所を探す」ためにも利用できます。

例えば以下のようなソースコードがあったとします。

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

このソースコードは4行目のSystem.out.printlnの一部がおかしいためコンパイルするとコンパイルエラーを起こします。

しかしぱっと見ではそれが分かりません。そこで、以下のように問題の原因として疑わしい部分をコメントアウトします。

public class Sample{
  public static void main(String[] args){
    System.out.println("Hello");
    //System.out,println("World!");
  }
}

この状態でコンパイルします。

コンパイルが成功した場合はコンパイルエラーの原因がコメントによって無視されるようになったためコンパイルできるようになったと考えることができます。
つまりコメントアウトした行にコンパイルエラーの原因があったことになります。

このようにコメントはソースコード内の問題点を探す際に利用することもできます。


ポイント

ブロックを意識してソースコードを読み書きする
ソースコードはインデントを利用してブロック単位で見やすくする
コメントをうまく利用して読みやすいソースコードにする
コメントは問題個所の特定にも利用できる


プログラムの作り方編・完

今回でプログラムの作り方編は終了です。


はじめてのJavaシリーズの目次はこちら
プログラムの作り方編はこちら


java 11 の練習問題一覧はこちら
はじめてのJavaシリーズの練習問題一覧はこちら