さあ気分を変えて少しプログラムっぽいことをしましょう。
ただし初心者なので基本データ型のみ使ったプログラムです。クラスやオブジェクトは後でたっぷり出てきます。
新しい事を始めるには、形から入るのが手っ取り早いもの。
ちょっと見だけなら、ベテランのプログラムかと思わせるものを書けるようになりましょう。中身はあとあと。
スタイルと中身
前に出てきたプログラムがこんな形だったらどうでしょう?
public class Add {
public static void main(String[] args) {
int a,
b, c;
a = 2;
b=3;
c = a + b;
System.
out.println(a + "+" + b + "=" + c);
}
}
読みにくくないですか?
プログラムのスタイルはその中身の質と密接にかかわってきます。見栄えも大事なのです。まあ、こんなソースでも、Javaの開発ツールではたいてい一発で見事に整形してくれるんですけれどもね。世の中便利になったものです。
他人の書いたプログラムを読むのは大変です。昔はそれでよかったのです。
プログラムを作る人は少なく、うんと凝った物を作り、ずっーと自分でお子守していけばよかったのですから。ところがだんだんそれでは間に合わなくなって、大きなプロジェクトでは共同で作業するのに、独りよがりは嫌われるようになりました。
そこで構造化プログラミングという、読みやすいプログラム、後で変更したり利用したりが簡単にできるプログラミングの必要性が叫ばれました。
プログラムの動作とは関係ないコメントも、読みやすさの手助けになります。所々に「何をやっているのか」をコメントとして入れておくとよいでしょう。ただし入れすぎると、後でプログラム本体の変更だけでなく、コメントの変更に手間取ってしまうということもあります。過ぎたるは及ばざるが如し、ですね。
//で始まる部分がコメントになります。最初と最後に/*と*/をつけると、2行以上のコメントも指定でき便利です。
/*
これは足し算のプログラム
2+3しかできない
*/
public class Add {
public static void main(String[] args) {
// 変数の宣言
int a, b, c;
// 計算
a = 2;
b = 3;
c = a + b; // 足し算
// 出力
System.out.println(a + "+" + b + "=" + c);
}
}
オブジェクト指向の場合、既存のクラスの利用が欠かせませんが、その使い方は、APIのオンラインドキュメントにまとめられます。
プログラム中に/**と*/で囲んでコメントを入れれば、ドキュメントの自動生成に利用できます。
ざっと見る
もう一度元のプログラムに戻りましょう。
スペースや改行、タブを適当に入れて、プログラムが見やすくなっていますね。ここでAddやa、b、cはプログラム作成者が決めた名前です。Addはクラスの名前、a、b、cは変数の名前です。
Javaでは大文字と小文字は区別されるので注意してください。変数aとAは別物になります。
public、class、static、void、mainなど太字の部分はJavaのキーワードで、特別の意味を持っています。
=や+は演算子です。
どの文もセミコロンで終わらなければなりません。
また中括弧{}でくくられた部分がブロックと呼ばれ、ひとつの単位になります。
2や3など、プログラムに直接指定する数を定数といいます。小数点がないのでint型で記憶されています。小数点のある定数はdouble型になります。
といろいろ言いましたが、もうこれは慣れが大事なので、このくらいそらで書けるように、じーっとにらんでおいてください。
public class Add {
public static void main(String[] args) {
int a, b, c;
a = 2;
b = 3;
c = a + b;
System.out.println(a + "+" + b + "=" + c);
}
}
名は体を表す
クラスの名前や変数の名前には、わかりやすいものをつけましょう。これも読みやすさを助けます。
自由につけられますが、半角のアルファベットと数字、アンダーライン_を使ってください。ただし1文字目に数字は使えません。
一般的には次のような暗黙の決まりがあるので、守るようにしましょう。
クラス名
1文字目が大文字、2文字目以降小文字
(例)Add Cart
メソッド名
小文字、二つの単語が繋がるときは、後ろの単語の1文字目を大文字にする
(例)addItem
変数名
小文字、メソッド名と同じ形でもよい
(例)sum
さらに大事なのは、名前に意味を持たせることです。aやaaやs21では何のことだかわかりません。(さっきのサンプルは悪い例です)
合計を求めるための変数ならsum、商品を表すクラスならばItem、商品を追加するメソッドであればaddItemという具合です。
goukeiやSyouhin、tuikaSyouhinでもかまいませんが、やはり英単語のほうがかっこいいですね。簡単な単語でいいんです。
話はそれますが、Javaの世界では、やはり情報発信はアメリカです。インターネットで最新情報を調べようというときは、英文を読む羽目になります。今は翻訳ソフトもいいものがあるので、一々辞書を引く必要もなくなりましたが、やはり大変です。若い方!英文を読む力をつけておきましょう。初心者のうちは日本語の参考書ですむかもしれませんが、先々英語力がIT技術の差になることは間違えありません。おっくうがらずにEnglishに挑戦してください。