HelloWorld解説
基本の基本
Javaプログラムを書くにあたって、最初に覚えておきたい事をまとめました。
//HelloWorld.java
class HelloWorld {
public static void main(String[] args){
System.out.println("HelloWorld!");
}
}
そもそも、この奇怪な
文字の配置はなんすか?
実はこの配置にプログラム的な意味はない。
ないの!?
目次
1.無視される文字
この文字の配置。
「{」(開きカッコ)と「}」(閉じカッコ)を同じ高さにしているのです。
つまり、インデントを揃えることで、見やすくしているだけです。
インデントを揃える
Javaでは、[Tab] [改行] [半角空白] を無視します。
無視される文字を、適宜使用して見やすくするわけです。
なので、以下の様に書き換えても問題なく動作します。
HelloWorld.java 改行なし
//HelloWorld.java
class HelloWorld {public static void main(String[] args)
{System.out.println("HelloWorld!");}}
HelloWorld.java 改行しまくり
//HelloWorld.java
class HelloWorld{
public
static
void
main
(
String[]
args
)
{
System.out.println
(
"HelloWorld!"
);
}
}
でも、さすがにこれじゃ読みづらい・・・ってゆうか読めませんね。
そこで、せめてインデントを揃えて書こう!というマナーが生まれました。
そもそもプログラムは読めないけど、
読みにくいって事だけはわかるッス。
だろ?
このように Javaのプログラムは、かなり自由に記述できますが、
自分で読み返したり、他の人が見たりしたときに、読むのが困難になるような書き方は避けたいものです。
守らないとエラーになるものだけではなく、「可読性」を確保するために遵守すべき
最低限のマナーも併せて紹介していきますね。
2.全角文字は禁止
たとえアルファベットでも、数字でも、全角文字はNGです。
「A」「8」 ← 全角 NG
「A」「8」 ← 半角 OK
ご覧の通り全角と半角は、見た目では判別が難しいです。
プログラミング用のエディタは、1文字の大きさが同じ「monospace-font」を使うので、なおさらです。
入力する時に十分気をつけてくださいね。
日本語IMEで変換した文字は、おおむねNGと思ってください。
日本語IME は無効にするか、「直接入力」モードにしてください。
後述しますが、日本語が全く使えないということではありません。
例えば以下の様な場合には、全角文字が使えます。
- 例外その1: 「//」コメントアウトされている部分
- 例外その2: 「""」ダブルクォーテーションの中
→ 文字化けしてしまう方は
他の部分にうっかり全角で書き込まないように注意してください。
特に、
全角空白文字は超危険です。
メモ帳だと見えないのに、コンパイルが通らないのです。
HelloWorld.java 全角空白文字あり
全角空白文字でコンパイルエラー
実はキーボードのキーの配置に
恐るべき罠が仕掛けてあるのだ!
罠?
インデントを揃えるのに
[Tab]キーを多用することになるのだが、
[Tab]キーの上下に、
[半角/全角]キーと、[英数]キーがある。
気が付かないうちに押してしまうのだ。
・・・。
キーボードの罠
3.ファイル名は「クラス名.java」
重要
ソースファイルの名前は、「クラス名.java」としなければいけません。
class HelloWorld{} と命名したので、
HelloWorld.java という名前で保存したわけですね。
ファイル名を変えるときは、クラス名も併せて変更する必要があります。
同じなら同じって
決めてもらった方が楽だわ。
4.大文字小文字は区別する
つまり 「Hello」 と 「hello」 は違うものとなります。
めんどくさいと思いますが、間違えないように入力してください。
少し遊んでみよう。
ファイル名を「HelloWorld.java」のままで、
クラス名を「helloworld」としてみた。
大文字小文字が異なるだけだ。
//HelloWorld.java NG
class helloworld {
public static void main(String[] args){
System.out.println("HelloWorld!");
}
}
前回と同様に、ワークフォルダ(例では ws)に保存します。
コンパイルして、実行してみましょう。
コマンドラインでは、上下キーで実行履歴を呼び出せますよ。
(ウインドウを閉じると全部忘れますけど。)
コマンドライン
> cd ws
ws> javac HelloWorld.java
ws> java HelloWorld
エラー: メイン・クラスHelloWorldが見つからなかったかロードできませんでした
コンパイルは通るんですね。
エラーメッセージは
「HelloWorld」を探したけど
見つからなかったって感じね。
5.上から下に進む
基本的には、プログラムは上から順番に実行されていきます。
制御文によって、分岐したり繰り返したりしますが、
それが終わればまた上から実行されます。
処理に時間がかかっても、終わるまで次には進みません。
今度は「System.out.println()」で、
何度も表示させてみよう。
上から順番に実行されているのがわかると思う。
クラス名が「Sample01」になっています。
ご注意ください。
//Sample01.java
class Sample01 {
public static void main(String[] args){
System.out.println("HelloWorld_01!");
System.out.println("HelloWorld_02!");
System.out.println("HelloWorld_03!");
}
}
コマンドライン
> javac Sample01.java
> java Sample01
HelloWorld_01!
HelloWorld_02!
HelloWorld_03!
まぁ基本的じゃないところでは、
そうでもないこともある。
その辺は後でのおたのしみだな。
お疲れ様でした。