文系女子のためのJava超入門 -3ページ目

文系女子のためのJava超入門

ブログの説明を入力します。

コンパイルエラーになったら・・・

前回、コンパイルの方法を説明しましたが、エラーが起きてしまったらどうしましょ?ドキドキあせる

コンパイルしたときに発生するエラーのことを(そのまんまですが)「コンパイルエラー」と呼んでます。コンパイルエラーになると、「どんなタイプのエラーなのか」とか「ソースプログラムのどのあたりがエラーの原因になっているか」などのエラーメッセージがコマンドプロンプトに表示されます。

今回は、コンパイルエラーのメッセージの読み取り方と対処法を説明しまーす。が、その前に覚えておいてほしいことが一つビックリマーク

「エラー」というと、やばいっガーンなるべくなら起こしたくないっ!隠しちゃいたいっ!と思うかもしれませんが・・・。実はそんなことを思う必要は全然ない、ということ。

「コンパイルエラーが起きるのは、プログラミングをするうえで当然のことで、失敗でも恥ずかしいことでもなんでもない」んです。ベテランのプログラマだって、実際はばんばんコンパイルエラーを出すものです。プログラミング初めてのあなたがコンパイルエラーを起こすのなんて、本当にあたりまえのことなんです!(知り合いのプログラマに聞いてみたら「コンパイルエラーを出さないやつなんて見たことないよ!」だそうです。)

コンパイルエラーは(起こしちゃいけないもの、ではなく)発生したら修正すればいいだけ、のことなので気楽にね。最終的に、ちゃんとした品質のプログラムを作り上げればいいわけで、途中の過程でコンパイルエラーが出ようが出まいが、そんなことはどーでもいいのですよ。

ドキドキ ドキドキ ドキドキ ドキドキ ドキドキ 

コンパイルエラーはいろーんなパターンがあるので、ここで全部紹介することはできませんが、今回はよくお目にかかるものをいくつかご紹介しますね。(今回はちょい眺めですが、紹介するエラーについては一つずつ覚える必要はなくて、あーこういうのがあるのね、と流す程度でOKです。)

【パターン1 セミコロンが抜けている場合】
詳しくはもっとあとで説明しますが、Javaではプログラムのいろんなところにセミコロンが出てきます。(セミコロンってのは「;」←これです。)それが抜けていると次の図のようにコンパイルエラーになります。

文系女子のためのJava超入門-01err
図1 コンパイルエラー画面(クリックで拡大)

このとき、コマンドプロンプトにはエラーメッセージが表示されるので、ちゃあんと内容を読み取れるようになっておきましょう!

ピンクの四角で囲んであるところに注目~!
最初の行はコンパイルエラーが発生したソースファイル名と行番号です。これで、ながーいプログラムだった場合でも、だいたいどのあたりでエラーが発生したのか見当をつけられますね。
さらにエラーの内容も表示されます。今回は「';'がありません。」ということで、エラーの原因がズバリ書いてあります!

次の行は、エラーが発生した(とされる)行がそのままぽんと表示されています。今回だとFirstSample.javaの3行目ですね。

で、矢印のところをよーく見てください。(大成功の「成」の字の下あたりね。)ここに「^」こういうマークがついてるでしょ。ここが、エラーが発生した場所ですよと(コンパイラが)判断した場所です。(ちなみにこのエラーが発生した場所については、本当の原因とは若干ズレている場合も多いので、参考程度にみておきましょう。)

ちなみに、今回コンパイルしたソースファイルの中身はこれです。3行目の末尾の(本来必要な)セミコロンが抜けているのがポイントです。

ファイル名:FirstSample.java
-------------------------------------------------
class FirstSample{
public static void main(String[] args){
System.out.println("やったね大成功!") 左矢印ここ
}
}
-------------------------------------------------

では、コンパイルエラーの修正の仕方ですが、今回はセミコロンが抜けているということなので、必要な箇所に追加してあげればOKです。(ただしい場所は3行目の末尾でーす!)

ソースファイルを修正したら、上書き保存をして、再度コンパイルしましょう!今度は(ほかにエラーがなければ)コンパイルが通ります。(ちなみにコンパイルが正常に行われることを「コンパイルが通る」とよんでまーす。)

どうでしょう?難しいですか?
説明を聞いてるだけだと難しそうですが、実際にやってみるとそうでもないと思います。ただ、コンパイルエラーってすごーくたくさんの種類があるので、最初のうちはエラーの原因を見極めて、どうやって修正すればいいか考えるのが少々時間がかかるかもしれませんね。

ドキドキ ドキドキ ドキドキ ドキドキ ドキドキ 

続けていくつかエラーを見ていきましょ!

【パターン2 大文字小文字を間違えた場合】
Javaではプログラムを書くときに、大文字と小文字を区別します。たとえば次のプログラムの3行目、Systemの「S」を小文字にしてしまうと・・・。


ファイル名:FirstSample.java
-------------------------------------------------
class FirstSample{
public static void main(String[] args){
system.out.println("やったね大成功!");
}
}
-------------------------------------------------

こんなエラーメッセージが出てきまーす。

文系女子のためのJava超入門-07err
図2 コンパイルエラー画面

大文字小文字を間違えたときは、場合によってはこれとは違うエラーメッセージがでてくることもありますが、まあ、間違えたらエラーになるよ、ってことを覚えておいてねドキドキ

【パターン3 全角スペースが入っている場合】
基本的にプログラムを書くときには半角のアルファベットや数字を使います。全角文字は使えません。それなのに、全角文字を間違えて書いてしまうと・・・。

「そんなアホなことしないわ~、全角と半角なんてぱっと見ればわかるし~」と思うでしょ?でもね、こんな落とし穴があるんですよ!


ファイル名:FirstSample.java
-------------------------------------------------
class FirstSample{
public static void main(String[] args){
 System.out.println("やったね大成功!");
}
}
-------------------------------------------------

これが今回コンパイルしたソースファイルでーす。ぱっと見ただけではどこが間違ってるのかはわかりません。

で、これがエラーメッセージでーす。

文系女子のためのJava超入門-04err
図3 コンパイルエラー画面

このメッセージはとてもわかりにくいと思います。が、エラーの原因は全角のスペースが紛れ込んでるからです。

テキストエディタの設定でソースファイルの全角スペース、半角スペースを表示してあげると、こんな感じになります。

文系女子のためのJava超入門-06err
図4 全角スペース・半角スペースを表示

3行目の「System」の前に全角スペースが紛れてますよね?(うすいグレーで四角く表示されている部分ね。)全角スペースは、本当はプログラミングには使っちゃいけない文字なので、コンパイルエラーになりました。

【パターン4 かっこが抜けている場合】
Javaプログラミングでは、かっこがよく使われます。かっこは「始まりのかっこ」と「終わりのかっこ」が必ずペアになってます。なので、どちらか片方のかっこしかない場合はコンパイルエラーになります。
たとえば、5行目の「終わりのかっこ」がない場合・・・。

ファイル名:FirstSample.java
-------------------------------------------------
class FirstSample{
public static void main(String[] args){
System.out.println("やったね大成功!");
}
 左矢印ここ
-------------------------------------------------

文系女子のためのJava超入門-02err
図5 コンパイルエラー画面

エラーメッセージがわけわからないのは置いといて・・・。ここではかっこが抜けてるとコンパイルエラーになる、ということがわかればOKです!

こんなふうに、ソースプログラムが間違っているとコンパイルエラーになるので、エラーが発生したら適宜修正してくださいねー。

ちなみに、詳細はあとででてきますが「プログラムが間違っている」というのは、Javaのルール(文法といいます)に照らしてみて間違っている、ということです。(このルールについては、このあと徐々に覚えていきましょう!)
逆に言えば、もしうっかりルールを破っちゃったとしても、コンパイルをした時点で発見できるので致命傷にはならないよ、ということです。だからみなさん安心してプログラムをいっぱい書きましょう!そしてたくさんコンパイルエラーを出して、Javaのルールを覚えていきましょう!



【おまけ TeraPadで全角や半角のスペースを表示する設定】
メニューから[表示]-[オプション]を選択する。[オプション]ウィンドウが表示されるので[表示]タブを選択する。次の図のように、表示させたい項目にチェックを入れて[OK]ボタンをクリックする。

文系女子のためのJava超入門-05err
図6 オプション設定画面

それではまたね~。