プログラムにメモを書いておきたいとき、「コメント」と呼ばれる機能を使う。コメントの部分は、プログラムには関係ないただの文字になる。出力もされない。
Javaにももちろんコメント機能は用意されていて、1行の場合「//」を、複数行の場合「/*」と「*/」で囲めばコメントとして扱われることになる。
これで知識としては十分だが、このページではコメントについて詳しくご紹介する。参考にしていただければと思う。
コメントとは?
Javaに限らず、プログラムにはコメントを書くことができる。コメントとはプログラムソースに記述されているが、実行対象にはならない箇所のことだ。
使い方は大きく分けて2通りある。
- プログラムに関してのメモ書きを置いておく
- バグを取るなどのために、一部分をプログラムとして動かなくする
前者は、他の人や将来の自分が見てわかりやすくするために、プログラムの内容やなぜそのように書いたのかを書いておくために使う。
後者は、バグを取るなどのためなどによく使う。コメント化して処理させないようにすることを「コメントアウト」と言うので、この言葉も覚えておこう。
コメントについては下記で詳しく解説している。
コメントの種類と書式
コメントする方法は2種類ある。1行だけのコメントを書く方法と、複数行のコメントを書く方法だ。
1行コメントの書式
1行だけのコメントは次のように書くことができる。
// (コメント内容)
スラッシュ記号を2つ書くことで、その行をコメントにすることができる。それでは、この方法を使ったコメント化の方法をサンプルプログラムで見てみよう。
サンプルプログラム
1 2 3 4 5 6 |
public class ClassSample { public static void main(String args[]){ System.out.println("Hello! I'm RecurrentTechnology"); System.out.println("Nice to meet you!"); } } |
実行結果
1 2 |
Hello! I'm RecurrentTechnology Nice to meet you! |
2行の文字列を出力する簡単なプログラムだ。このプログラムの1行目の文字列出力する箇所をコメントアウトしてみよう。
サンプルプログラム
1 2 3 4 5 6 |
public class ClassSample { public static void main(String args[]){ //System.out.println("Hello! I'm RecurrentTechnology"); System.out.println("Nice to meet you!"); } } |
実行結果
1 |
Nice to meet you! |
1行目がコメントアウトされたので、出力されなくなったことがわかる。
複数行コメントの書式
次に、複数行のコメントの方法を見てみよう。複数行のコメントは次のように書くことができる。
/*
コメント内容
*/
/* ~ */で囲んだ部分がコメントとなる。「/*」がコメントの開始で、「*/」がコメントの終了という意味だ。
それでは、先ほどのサンプルプログラムをこの方法でコメント化してみよう。
サンプルプログラム
1 2 3 4 5 6 7 8 |
public class ClassSample { public static void main(String args[]){ System.out.println("Hello! I'm RecurrentTechnology"); /* System.out.println("Nice to meet you!"); */ } } |
実行結果
1 |
Hello! I'm RecurrentTechnology |
文字列出力の2行目をこの方法でコメントアウトしてみると、2行目が出力されなくなったのがわかる。
この方法は複数行をまとめてコメントにすることができるので便利ではあるが、本来コメントアウトしてはいけない箇所もコメントにしてしまうといったミスを生んでしまうこともある。
1 2 3 4 5 6 7 8 |
public class ClassSample { public static void main(String args[]){ System.out.println("Hello! I'm RecurrentTechnology"); /* System.out.println("Nice to meet you!"); } */ } |
このサンプルプログラムの例を見てほしい。2行目の文字列出力をコメントアウトしようとしているのだが、コメントの終わり「*/」を記載する場所を誤っているのがわかる。
このような簡単なプログラムの場合は間違ってしまうことは少ないが、複雑な条件式の入り組んだプログラムなどをコメントアウトする際などに誤ってしまうケースもあるので、注意するようにしよう。
コメントの有用性
コメントはプログラム実行時には処理されないので、書く必要がないのでは?と思うかもしれないが、コメントを書くことでプログラムの可読性(読みやすさ)を高めることができる。
簡単な例を見てみよう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
public class ClassSampleCalc { public static void main(String args[]){ int a; int b; a = 0; b = 0; for(int i = 1;i <= 10; i++){ a += i; b -= i; } System.out.println("result(max) : " + Math.max(a, b)); System.out.println("result(min) : " + Math.min(a, b)); } } |
Javaを学び始めた初心者でも、ぱっと見てみてなんとなくは理解できるプログラムだ。
しかし、コメントを書くことで、より早い時間でプログラムの内容を理解することができる。先ほどのサンプルプログラムにコメントを記載してみよう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
/* * クラス名:ClassSampleCalc * 作成日:2016/08/08 * 作成者:RecurrentTechnology * 修正日: * 修正者: * ver:1.0.0 */ public class ClassSampleCalc { public static void main(String args[]){ int a; int b; //変数初期化 a = 0; b = 0; //aとbの加減算処理 for(int i = 1;i <= 10; i++){ a += i; //aにiを加算する b -= i; //bにiを減算する } //aとbのうち、大きい方の数を出力 System.out.println("result(max) : " + Math.max(a, b)); //aとbのうち、小さい方の数を出力 System.out.println("result(min) : " + Math.min(a, b)); } } |
このように、コメントで処理内容を記載することで、処理内容を理解しやすくすることができる。プログラムは作成した本人だけ理解できればいいだけでなく、他のエンジニアにも理解しやすいプログラムでなければならない。コメントは他のエンジニアがプログラムを理解する手助けにもなるのだ。
また、クラスの最初に作成日や作成者、バージョンなどの情報を書くことで、クラスファイル自体の履歴を把握することができる。
プログラムの内容そのものも、もちろん大切ではあるが、コメントも大切であることを覚えておこう。
まとめ
このページではJavaのコメントについてまとめてご紹介してきた。「//」と「/* */」を使えばコメントにすることができる。
//は1行ずつのチェックや行ごとのプログラムの説明に、「/**/」は一括で大きめにデバッグしたいときや行頭でプログラムの説明を書くのに向いている。
使いこなして、見やすいプログラムを実現しよう。