Java入門|Javaコメントの基本

コメントをひとこと添えるだけで、Javaコードはもっとやさしく読める。Sample1.javaで学ぶコメントの基本

Javaのコードは、コンピュータに命令を伝えるためのものですが、実際には人が読んで理解しやすいこともとても大切です。特に学習を始めたばかりの時期は、コードの意味を頭の中で整理しながら読み進めることが多いため、説明のないプログラムは少し見づらく感じることがあります。

そんなときに役立つのがコメントです。コメントは、プログラムの動作そのものには関係しないものの、コードの意味や役割を人に伝えるための大切な説明文です。コンピュータはコメントを命令として実行せずに読み飛ばすため、私たちはコードの中に自由に補足やメモを書き残すことができます。

Javaを学んでいくと、これから少しずつコードは長くなり、処理も複雑になっていきます。そのとき、何をするコードなのかを自分やほかの人がすぐに理解できるようにしておくことは、とても重要です。コメントは、そのための最初の工夫としてぴったりの仕組みです。

ここでは、Sample1.javaだけを使いながら、コメントとは何か、// を使った1行コメントの意味、コメントがなぜ読みやすさにつながるのか、そしてもうひとつのコメントの書き方である /* */ の特徴まで、丁寧に見ていきましょう。

Sample1.java を見てみよう

コメントの基本を理解するために、まずは今回の題材となる Sample1.java を確認します。

// 画面にメッセージを2行表示するプログラム
class Sample1
{
    public static void main(String[] args)
    {
        System.out.println("おはようございます。");
        System.out.println("今日もJavaを学んでいきましょう。");
    }
}

このプログラムでは、mainメソッドの中に2つの System.out.println があり、画面に2行のメッセージを表示します。そして、そのいちばん上にある

// 画面にメッセージを2行表示するプログラム

という行が、今回のテーマであるコメントです。

コメントとは何か

コメントとは、コードの中に書く説明文やメモのことです。プログラムの動作を変えるための命令ではなく、人がコードを読みやすくするために書きます。

Sample1.java では、先頭の1行がコメントです。このコメントは、このプログラムが何をするものなのかをわかりやすく伝えています。

たとえば、初めてこのコードを見る人がいたとします。その人は、まずコメントを読むことで、このプログラムが 画面にメッセージを2行表示するプログラム なのだとすぐに理解できます。そのあとで mainメソッドの中を見れば、実際に println が2つあり、2つのメッセージを表示していることが確認できます。

このように、コメントはコードの入口としてとても役立ちます。

// から行末までがコメントになる

Javaでは、// を使うと、その記号からその行の終わりまでがコメントになります。

Sample1.java の最初の行を見てみましょう。

// 画面にメッセージを2行表示するプログラム

この場合、// から右側に書かれている内容はすべてコメントです。Javaのコンパイラは、この部分を命令として扱いません。つまり、コードの一部として書かれてはいますが、実行の対象にはならないのです。

このルールを表にすると、次のようになります。

書き方コメントになる範囲
// コメント// から行末まで
文の後ろに // コメント// 以降がコメント

つまり、// は ここから先は説明文ですよ という印のようなものだと考えるとわかりやすいです。

Javaのコンパイラはコメントを無視して処理する

コメントのいちばん大事な特徴は、コンパイラがそれを無視して処理することです。

Sample1.java では、次の行がコメントです。

// 画面にメッセージを2行表示するプログラム

この行は人間に向けた説明であり、コンピュータに対する命令ではありません。そのため、プログラムをコンパイルして実行しても、このコメントが画面に表示されたり、何かの処理として動いたりすることはありません。

実際に実行されるのは、mainメソッドの中にある次の2つの文です。

System.out.println("おはようございます。");
System.out.println("今日もJavaを学んでいきましょう。");

その結果、画面には次のように表示されます。

おはようございます。
今日もJavaを学んでいきましょう。

ここで大切なのは、コメントに書いた文章は画面には出てこないということです。画面に表示されるのは、あくまで System.out.println の中に書いた文字列だけです。

コメントと実行される文の違い

Sample1.java の中には、コメントと、実際に処理される文の両方があります。この違いを整理してみましょう。

種類Sample1.java の記述実行されるか
コメント// 画面にメッセージを2行表示するプログラム実行されない
System.out.println("おはようございます。");実行される
System.out.println("今日もJavaを学んでいきましょう。");実行される

この違いがわかると、コードを読むときに、これは説明なのか、それとも命令なのかを区別しやすくなります。

特に学習の初期では、コードの見た目に慣れていないため、どの行が処理の対象なのかをはっきり意識することがとても大切です。コメントは読みやすさを助けますが、動作を担当するのは mainメソッドの中の文だということを押さえておきましょう。

コメントは何を伝えているのか

Sample1.java のコメントは、とても短いですが、役割ははっきりしています。

// 画面にメッセージを2行表示するプログラム

この1行によって、読み手はすぐに次のことを理解できます。

  • このコードは画面に何かを表示するプログラムである
  • 表示されるのは1行ではなく2行である
  • mainメソッドの中に、そのための処理があるはずである

つまり、コメントはコード全体の内容を先に案内してくれているのです。これがあるだけで、読み手は安心してコードを読み進めることができます。

もしコメントがなかったとしても、mainメソッドの中を見れば意味はわかります。しかし、先にひとことで説明があると、コードの全体像をつかみやすくなります。これがコメントの大きな価値です。

コメントを書くとコードが読みやすくなる理由

Javaを含め、多くのプログラミング言語は、人間にとって決して自然な文章ではありません。キーワードや記号が多く、慣れないうちは何をしているのかが見えにくいことがあります。

そんなコードにコメントを入れると、読みやすさが大きく変わります。Sample1.java のような短いコードでも、その効果はよくわかります。

コメントを書くメリットを整理すると、次のようになります。

コメントを書くメリット効果
コードの目的がすぐわかる何をするプログラムかを先に伝えられる
読み始めやすくなるmainメソッドの中を見る前に全体像をつかめる
自分の理解を整理できる学習中のメモとして役立つ
あとで見返しやすい時間がたっても内容を思い出しやすい

特に学習中は、コメントは自分のための説明書としても役立ちます。最初は短い一文でも十分です。自分が見て意味がわかるコメントを入れておくと、復習のときにも助けになります。

Sample1.java を上から順番に見ながらコメントの位置を確認しよう

Sample1.java の中で、コメントがどこにあり、どのような位置づけになっているのかを上から順番に見てみましょう。

1行目

// 画面にメッセージを2行表示するプログラム

ここはコメントです。このコードが何をするものなのかを説明しています。Javaのコンパイラはこの行を無視します。

2行目

class Sample1

ここで Sample1 というクラスを定義しています。

4行目

public static void main(String[] args)

ここが mainメソッド の開始部分です。プログラムの処理はここから始まります。

6行目と7行目

System.out.println("おはようございます。");
System.out.println("今日もJavaを学んでいきましょう。");

この2つの文が順番に実行され、画面に2行の文字列が出力されます。

こうして見ると、コメントは処理の前に置かれていて、これから始まるプログラムの意味を先に教えてくれていることがわかります。

この図では、コメントと命令の違いがひと目でわかります。コメントはコードの中にありますが、実行の流れには入りません。一方で、mainメソッドの中の println は順番に処理され、実行結果として画面に表示されます。

つまり、コメントはコードの説明役であり、実際の仕事をするのは命令のほうだという関係が見えてきます。このイメージを持っておくと、コードを読むときにも、どこが説明でどこが処理なのかを区別しやすくなります。

// を使うコメントは1行だけに向いている

Sample1.java で使われているコメントは、// を使った1行コメントです。この形式は、短い説明を書くのにとても向いています。

たとえば、今回のように

// 画面にメッセージを2行表示するプログラム

と書けば、プログラム全体の目的をすっきり伝えられます。

ただし、// の場合は、その行の終わりまでしかコメントになりません。つまり、1つの // だけで複数行にわたる説明を書くことはできません。もし2行、3行と説明を書きたいなら、そのたびに各行の先頭へ // をつける必要があります。

この特徴を整理すると、次のようになります。

コメント記号コメントの範囲向いている使い方
//その行の終わりまで短い説明、ひとことのメモ

Sample1.java のコメントは1行で内容がまとまっているので、// の形式にぴったりです。

もうひとつのコメントの書き方である /* */ も知っておこう

Javaには、// のほかに、/* */ を使うコメントの書き方もあります。

この形式では、/* から始まり、*/ で終わるまでの範囲全体がコメントになります。たとえば、次のように書けます。

/* 画面に文字を
   出力するコード */

この書き方では、複数行にわたってコメントを書くことができます。つまり、少し長めの説明をまとめて書きたいときに便利です。

ここで大切なのは、今回の Sample1.java では // が使われているということです。ですので、記事としての中心はあくまで Sample1.java の1行コメントですが、Javaにはもうひとつコメントの形式があることも知っておくと理解が広がります。

違いを表にすると、次のようになります。

書き方コメントになる範囲特徴
//その行の終わりまで短いコメント向き
/* */囲まれた範囲すべて複数行のコメントも書ける

コメントの基本

Sample1.java はとても短いプログラムですが、コメントの基本を学ぶにはとてもよい題材です。この1つのサンプルから、次のような大事な点がわかります。

学べること内容
コメントは説明文であるコードの意味や目的を人に伝えるために書く
// は1行コメントである// から行末までがコメントになる
コメントは実行されないコンパイラはコメントを無視して処理する
コメントは読みやすさを高めるコードの内容をすばやく理解しやすくなる
Javaには /* */ 形式もある複数行コメントを書く方法もある

短いコードの中に、コメントの役割がはっきり表れているので、学習の最初に押さえるにはぴったりです。

学習中は自分のためのコメントを書いてよい

Javaを勉強し始めたばかりの頃は、コメントを上手に書かなければいけないと考えすぎなくても大丈夫です。まずは Sample1.java のように、プログラムの内容をひとことで説明するだけでも十分役に立ちます。

たとえば、今回の

// 画面にメッセージを2行表示するプログラム

というコメントは、とても素直でわかりやすい書き方です。難しい表現を使っていなくても、プログラムの目的がしっかり伝わります。

最初のうちは、自分があとで見返してわかることを大切にしてコメントを書くとよいでしょう。そうすることで、コードをただ入力するだけでなく、意味を意識しながら学ぶ習慣も身についていきます。

コメントは読みやすいコードへの第一歩

Javaのコードは、正しく動くことがもちろん大事です。ただ、それと同じくらい、人が読んで理解しやすいことも大切です。コメントは、その読みやすさを作るためのとても身近な工夫です。

Sample1.java の先頭にあるたった1行のコメントも、コード全体の役割をはっきり伝えてくれています。こうした短い説明があるだけで、プログラムはぐっと親切になります。

これから先、Javaのコードが長くなっていくと、コメントの大切さはさらに大きくなっていきます。まずは Sample1.java のような基本的なコードの中で、コメントは人のために書く説明であり、コンピュータはそれを無視して処理する、という仕組みをしっかり押さえておくことが大切です。