プログラムはコンピュータが読むだけでなく人も読むものである。プログラムの作り方を理解するために、他人が作ったプログラムを読んだり、数人でチームを組んでプログラムを作る場合にも、他の人のプログラムを読む必要が出てくる。また、自分の書いたプログラムを後で読むこともよくある。
このようにプログラムを書くには、人が読むことを配慮した書き方が必要になる。 そこで、特に重要なのが、以下の「コメントをつけること」と、「インデントをきちんとつけること」である。
人がプログラムを読んで理解する場合、プログラムだけしか書かないと何を行っているのか分かりにくくなりがちである。 そこで、プログラムに説明文を書き加えるのが普通である。 この説明文をコメント(注釈)という。
Javaでコメントを付けるには、/* ... */ もしくは // を使う。 // を打つと、// からその行の終わりまでがコメントになる。 また、/* を打つと */ までの間がコメントになる。この場合は複数行に渡っても良い。 コメントの部分はプログラムを実行する際には無視される。 つまり、コメントに何を書こうがプログラムの実行には影響しない。
以下にコメントの例を示す。赤い字のところがコメントである。
/* print_sample.java - print文の例 by Yoshihiro OHMI */ public class print_sample { public static void main(String[] args) { System.out.println(100+50); // 100と50を足した値、150が表示される System.out.println("100+50"); // "100+50"は文字列なので100+50と表示される } }
注意しないといけないのは、単にコメントを長々と書けば良いわけではないことである。 無駄に長いコメントは読みにくいだけあり、分かりやすさが重要である。 このため、上の例のようにprint 100+50のコメントに 100と50を足すと書くのは、プログラミングを習い始めた時点では意味があるが、ある程度習熟すると無駄なコメントとなる。なぜなら、そんなことはある程度プログラミングができる人には分かりきったことだからである。
コメントには主に意味を書くように心がけるべきである。 例えば、先程のprint 100+50なら、仮に100がチョコレートの金額、 50が送料だとすると、チョコレートを送る場合にかかる金額を表示すると書くのは意味が書かれたコメントと言える。
プログラムの構造を捉えやすくするために、インデント(字下げ)を行うのが常識である。 例えば、クラス定義やメソッド定義の始めから終わりまでを行の先頭に空白を入れて右側にずらす。
1: public class Sample { 2: public static void main(String[] args) { 3: System.out.println("Hello"); 4: } 5: }このプログラムは、以下のようにインデントがでたらめであっても正しく動作する。
public class Sample { public static void main(String[] args) { System.out.println("Hello"); } }しかし、これではとても読みづらいプログラムになってしまう。 Javaのインデントは、原則として、"{"が出てきたから"}"までの間の行をインデントすれば良い。 上の場合は、2〜4行目までが4文字右側にずらされている。また、3行目は8文字右側にずらされている。3行目は、2重にインデントされているわけである。 Javaの場合、インデントで入れる空白は4文字が主流である。
public class AProgram { public static void main(String[] args) { int a = 100; System.out.println("started"); if (a > 20) { System.out.println("a is greater than 20."); } System.out.println("end"); } }