05 違う方法で“Hello Java World !”って表示させよう!

【第5回】違う方法で“Hello Java World !”って表示させよう!

そろそろプログラミングの楽しさと、もの足りなさを感じ始めたのではありませんか?
それでは勢いをそのままに、もう一歩踏み込んでみましょう!

前提:「Hello World」プログラムを変更して動かせていること

「Hello World」プログラムはちゃんと動きましたか?

作って動かすことが、プログラムを面白く感じるきっかけになります。

プログラムだって「覚えなきゃ、覚えなきゃ」と勉強するより、
「こんなことやってみたいな。あっ!できた!」という方が
楽しいし、理解も早いですからね。

この講座は、
「楽しんでいるうちにできるようになっている」というのがコンセプトなので、
なるべくわかりやすい流れで楽しめるように書いているつもりです。

さあ、それでは内容に入っていきましょう!

これまでの「Hello World」プログラムは
単純に「Hello Java World!」printlnの後に書いて
表示させるだけのプログラムでした。
この表示のさせ方は、次の方法でも実現できます。

まずは自分の手で打ち込んで確かめてみてください。

public class HelloWorld 
{
    public static void main(String[] args) 
    {
        String message;
        message = "Hello Java World !";
        System.out.println(message);
    }
}

さて、これを動かしてみましょう。
勿論、コンパイルして、実行ですね。

実行結果は以下の通りになりました。

C:\WORK>javac HelloWorld.java

C:\WORK>java HelloWorld
Hello Java World !

C:\WORK>

おお!プログラムの内容は大分違うのに結果は同じになりましたね!
それでは、元々のプログラムと今回のプログラムのどこが違うか見比べてみてください。

...さあ、見比べてみました?

そう、行数が増えていますね(printlnの使い方まで変わってしまいました)。

早速説明していきましょう。
と、その前に説明しやすいように
今回のプログラムにコメント(プログラムの実行とは関係ないメモの事です)を付けてみましょう。

public class HelloWorld 
{
    public static void main(String[] args)
    {
        String message;                 // ①出力文字列を宣言する
        message = "Hello Java World !"; // ②出力文字列を設定する
        System.out.println(message);    // ③設定した文字列を出力する
    }
}

1.設定した文字列を出力する

まず分かりやすいのはここですね。違うのはどこでしょう?
そう、printlnの後のカッコ内が

“Hello Java World !”からmessage

になっていますね。
printlnのカッコ内が表示する文字列だということは、
前回までの講座で分かっていましたよね。

それでは今回は何故、ただ“message”と書くだけで表示できたのでしょう?
“message”とはいったい...。

2.出力文字列を宣言する

はじめに“message”というのが出てくるのはこの行ですね。
これは何をしているのでしょう?

ここは考えてもわからないと思いますので、すぐに答えを言ってしまいましょう。

これは「Stringという型でmessageという変数を宣言」しているところです。
さあ、何言っているのでしょうね?
もっと噛み砕いて言うと

「ねぇねぇ、コンピュータさん、messageという変数を使いたいから覚えておいてね。
そうそう、その変数はStringという型だからね!」

ということです。
これでもちょっと難しいかな。

それでは、一つ一つ説明しましょう。

まず“変数”とは。

プログラムでは、本当にいろいろなことができます。
いろいろな事をしようと思うと
「あ、この計算した結果を一時的にどこかに覚えておきたいな」
等というようなことがあります。
その「一時的に覚えておく」ための保存場所を“変数”と呼ぶのです。

そして変数を使いたい場合には
事前に「私はこういう名前の変数を使うよ!」とコンピュータに伝えておきます。
これを“変数宣言”と呼びます。
今回の例でいえば「私は“message”という変数を使うよ!」と
コンピュータに伝えているわけですね。

では“型”とは。

変数宣言をするときに、
「こんな名前の変数を使うよ!」と宣言されただけでは
コンピュータも困ってしまいます。

何故ならその変数が数字なのか文字列なのか、
数字といったって整数なのか小数点があるのかわからないですからね。
よって、その変数がどのような種類なのかも変数宣言の時に教えてあげます。

その「どのような種類の変数なのか」をコンピュータに伝えるのが“型”です。

コンピュータに伝えてあげるのが“型”の役目なので、
ある程度どういうものがあるか決まっています。
ちょっとだけ紹介しておきますね。

文字列型:String
整数型 :int
小数型 :float

とりあえず、この3つくらい覚えておきましょう。
その他は理解が深まってから覚えても遅くないですからね。

さぁ、これで①でやっていることが何かわかりましたか?
「“message”という変数を文字列型で作ります」と宣言しているんですよね。

これを堅っ苦しく(プログラマっぽく)言うと
「String型でmessageという変数を宣言」する、ということになるわけです。

ちょっと難しかったでしょうか?

ここまで分かれば後は楽なので、
「ちょっとよくわからないなあ」という人は
ここまでのところをよ~く読んで、出来るだけ理解しておいてくださいね
(実際に使っていくうちにすぐにわかってくるから、「なんとなく」でもわかればOK)。

3.出力文字列を設定する

この行は簡単。変数に情報を“代入”しているのです。
今回で言えば
「“message”という変数に“Hello Java World !”という文字列を設定」
しているのです。
要は、変数になんらかの情報(これをよく“値”といいます)を入れたいときには
この②のように書けばいいのです。

値を入れたい変数をイコールの左に、実際に入れる値をイコールの右に書くと、
変数の中に値が入っている、という寸法(「代入する」とも言います)。
だからこの行では“message”という変数に
“Hello Java World !”という文字列が入ったんですね。

さて、ここまでくればprintlnのカッコの後にあるmessageとはなにか、わかりましたよね。
つまり、printlnには
「変数名をそのまま書くと変数の中身を表示してくれる」
という機能があるのです。
だから“message”という変数の内容である
“Hello Java World !”という文字が表示されたんですね!

今回は新しい言葉がたくさん出てきてちょっと難しかったでしょうか?
言っている事は簡単な事なので、
自分でプログラムを打ち込んで
「ふむふむ、そういうことか」となんとなくわかっていれば大丈夫ですよ。

今回の内容は、この先に進んでいくと普通に使う事になるので、
そのうちいやでもわかりますから(笑)。

それでは、いつものようにまとめを。

~ まとめ ~

1.変数とは何か
2.型とは何か
3.変数宣言とは何か
4.変数に値を設定(代入)する方法

上にあげた言葉がもう「ちんぷんかんぷん」ではなくなってるでしょう?
そう!

それこそが今回の成果です。 それでは、今回はここまで。

→ 次へ(第6回:プログラム内で計算して、その結果を表示させよう!)