はじめてプログラムを書く人は、市販の業務用ソフトやゲームソフトを想像するかもしれませんが、売り物になるようなプログラムを書くことは並大抵ではありません。まず、はじめは、じみ〜で、おもしろくないものから始めましょう。そのうち楽しくなると思いますから、少しがんばってみましょう。
たとえば、次のようなものがJavaプログラムです。
//Hello.java
class Hello
{
public static void main(String[] args){
System.out.println("hello");
}
}
すでにJ2SDKをインストールしているなら、上のソースコードを入力し、コンパイルし、実行してみてください。(簡単な説明は、付録1を見てください。)すべて半角英数字で、大文字小文字の区別に注意してください。実行結果は、画面に「hello」と打ち出されるだけです。なんと、つまらない、、、と思うかもしれませんが、普通はこんなプログラムから入門していくのです。
Fig.1 Hello.javaをコンパイルしたものを実行
それでは、プログラムの説明をします。
1行目はコメントと呼ばれる行で、プログラムの実行とはなんの関係もありません。ここではプログラムの名前をコメントとして書いただけです。このタイプのコメントは「//」ではじまっているので、ほかの行でも「//」を見つけたら、そのあとに書いてあることは、ただのコメントだと思ってください。
2行目以下がプログラムの「意味のある部分」なのです。
ところで、Javaプログラムでは、必ずクラスというものを書くことになっています。クラスは、
class クラス名
{
中身
}
などという形をしています。今の場合、Hello.javaというプログラムに、Helloという名前のクラスを書いたのです。(一般には、クラス名とファイル名は異なっていてもよいのですが、初心者は混乱することも多いので、主なクラス名(今の場合、クラスはひとつしかありませんが)とプログラムファイル名は同じにしておきます。)
クラスHelloの定義は2行目からはじまって、プログラムの最後まで行っています。3行目の「{」と最後の7行目の「}」はクラスHelloの中カッコ「開く」と、中カッコ「閉じる」なのです。
また、普通のJavaプログラム(アプリケーションとよばれます)では、主となるクラスにmainというものを書くことになっています。これは
public static void main(String[] args){
中身
}
という形をしています。見かけがすごいですが、いつも同じことを書くだけなので、最初はあまり気にする必要はありません。「プログラムの中心部分」という程度の意味なのです。
すると、Hello.javaは、ほとんど規則にしたがって、
//Hello.java
class Hello
{
public static void main(String[] args){
中身
}
}
と書いてあるだけで、本当の中身は、
System.out.println("hello");
の1行だけなのです。「規則にしたがって書いた部分」は、とりあえず、「おまじない」と思ってください。意味はあとでだんだんわかってきます。
今理解すべきことは、System.out.printlnの使い方です。これは、
System.out.println(文字列);
と書くと、「文字列を画面に出力して改行せよ」という命令になるものなのです。ただし、文字列は、「"hello"」のように、「""」で囲むことになっています。
まとめると、Hello.javaは、「画面にhelloと出力して改行するだけのプログラム」ということになるのです。Fig.1を見てください。実際、そうなっていますね。
はじめのうちは、あまり「どうしてだろう」と悩まずに多くのことを受け入れてください。そのうちいろいろなことがわかってきます。まず、上のプログラムを実行してみてください。コンパイル時にエラーメッセージがでたら、おそらくタイプミスか何かでしょう。例えば、よく「;」を忘れます。
エラーが出たらなんとか直してコンパイルしてください。うまくいったら実行です。「hello」とでましたか?もし、うまくいったら、(あまりおもしろいプログラムではありませんが)自分で少しだけ改造したプログラムを書いてみてください。
例えば、こんなのが出来るでしょう。
//Hello.java
class Hello
{
public static void main(String[] args){
System.out.println("俺様はプログラマの卵だ!");
}
}
出力する文字列を変えただけです。実際、実行すると「俺様はプログラマの卵だ!」と出力するはずです。ただし、日本語は「俺様はプログラマの卵だ!」だけで、他の部分は半角英数字で入力するのを忘れないでください。特に「"」などを全角で書かないように気をつけてください。
以上は、文字を出力するプログラムでしたが、数も同様にできます。しかし、数だけを出力するときには「"」はいりません。
また、文字列は、「+」でつないでいくこともできます。たとえば、次のプログラムがその例です。ただし、クラス名を変えました。プログラム名とクラス名に注意してください。
//Nenrei.java
class Nenrei
{
public static void main(String[] args){
System.out.println("私は" + 43 + "です。");
}
}
Fig.2 Nereiの実行
最後に、少しコメントをしましょう。実は、javacでソースをコンパイルすると、ソース内のクラスに対応するクラスファイルが生成されるのでした。今回のプログラムをコンパイルすると、Hello.class、Nenrei.classというファイルが生成されるのです。
Fig.3 ソースファイルとクラスファイル
javaでは、それらのクラスファイルを実行しているのです。(ただし、「java クラス名」のようにし、クラス名に「.class」はつけないことになっています。)
今日はこの辺にしましょう。あまりいろいろ考えすぎないようにしましょう。細かいことはいずれわかるのです。それより、Javaプログラムの大雑把な構造と、System.out.printlnで出力できることを覚えてください。今回はそれだけでよいのです。それではまた。