Javaソースプログラムを書く
Java ソース プログラムは、任意のテキスト エディタを使用して作成できます。ここでは Windows のメモ帳を例に挙げます。
(1) 新規に空白のメモ帳を作成し、以下の内容を忠実に入力します。多くの初心者はこのプログラムの完全な意味を理解していないかもしれませんが、問題はありません。さまざまな括弧や句読点を含め、サンプルのスタイルに従って完全に入力してください。
/*
* 最初のJavaプログラム
*/
public class HelloJava {
// ここがプログラムの入り口です
public static void main(String[] args) {
// 文字列を出力します
System.out.println("こんにちは Java");
}
}
以下に、ソースコードの重要な構成要素を簡単に紹介します。
- キーワード public はアクセス指定子を表し、そのクラスがクラス メンバーへの他のオブジェクトのアクセスを制御できるパブリック クラスであることを示します。
- キーワード class はクラスを宣言するために使用され、その後にクラスの名前である文字列が続きます。
- キーワード static は、メソッドが静的メソッドであることを示し、クラスのインスタンスを作成せずに main() メソッドを呼び出すことができます。
- キーワード void は、main() メソッドに戻り値がないことを意味します。
- main() メソッドはすべてのプログラムのエントリ ポイントであり、最初に実行を開始します。
- 「/*」と「*/」の間の内容、および「//」で始まる内容はJavaプログラムのコメントです。
(2) コードを HelloJava.java として記述した後、ファイルを保存します。図 1 に示すように、保存タイプとして「すべてのファイル」を選択し、「保存」ボタンをクリックしてファイルを D:\Java フォルダーに保存します。
ヒント:保存するファイル名にはスペースを含めることはできません。また、「Hello Java.java」のようなファイル名を使用すると、コンパイル時にファイルが見つからないというエラーが発生します。
コンパイルして実行する
Java ソース プログラムを作成してファイルに保存した後、実行する前にコンパイルする必要があります。 JDK の javac コマンドは、Java ソース プログラムをコンパイルするために使用されます。たとえば、前のセクションの HelloJava.java をコンパイルする場合、完全なコマンドは次のようになります。
javac HelloJava.java
javac HelloJava.java コマンドの役割は、Java コンパイラが Java アプリケーション HelloJava.java のソース コードを取得し、それを Java 仮想マシン仕様に準拠したバイトコード ファイルにコンパイルできるようにすることです。このとき、図 2 に示すように、HelloJava.class という新しいファイルが生成されますが、このファイルはいわゆるバイトコード ファイルであり、JVM 上の実行可能ファイルでもあります。
Java プログラムを実行するには、JDK で java コマンドを使用して、たとえば、前の手順で生成された .class ファイルを実行する必要があります。完全なコマンドは次のとおりです。
こんにちは Java
各ステップの説明:
- [スタート] | [ファイル名を指定して実行] コマンドを選択し、[ファイル名を指定して実行] ダイアログ ボックスを開き、cmd コマンドを入力して Enter キーを押して DOS 環境に入ります。
- 「d:」と入力して Enter キーを押し、Java ソース プログラムが存在する D ドライブに切り替えます。
- cd myJava コマンドを入力して、Java ソース プログラムが配置されているディレクトリ (d:\Java) に入ります。
- javac HelloJava.java コマンドを入力してコンパイルします。この時点で他に情報がない場合は、ソース プログラムがコンパイルに合格したことを意味します。それ以外の場合は、プログラムにエラーがあることを意味します。HelloJava を開く必要があります。メモ帳で java ファイルを変更し、ファイルを再度保存します。次に、コマンド プロンプト ウィンドウに戻り、コンパイルが成功するまで再コンパイルします (何度か繰り返す必要がある場合があります)。
- java HelloJavaコマンドを入力してプログラムを実行すると、「Hello Java」という文字が表示されればプログラムは正常に実行されます。
javac コンパイラを使用してソース コード ファイルをコンパイルすると、次の一般的な問題が発生する可能性があります。
(1) エラー: HelloJava.java javac を読み取れません。
ユーティリティ プログラムは、指定された Java ファイルが見つからないため、ファイルが現在のディレクトリに保存されているかどうか、またはファイル名が間違っているかどうかを確認する必要があります。
(2) HelloJava.java:4:class HelloJava は public なので、MyApplication.java という名前のファイルで宣言する必要があります。
ソース ファイル内のクラス名がソース ファイル名と一致しません。ソース ファイル名とクラス名が同じかどうかを確認する必要があります。
(3) HelloJava.java: 6: シンボルが見つかりません。
ソース プログラム ファイル内の一部のコード部分が正しく入力されていません。最も一般的な原因は、文字の大文字と小文字の区別に注意を払っていなかったことです。
(4) javac が内部コマンド、外部コマンド、実行可能プログラム、バッチファイルとして認識されません。
パスの設定が間違っているか、JDK bin ディレクトリがパス システム変数に追加されていません。
上記の問題が発生しない場合、Java ファイルは正常にコンパイルされています。 .dass ファイルを解釈して実行するときに、いくつかの一般的な問題が発生する可能性があります。
(1) スレッド「メイン」java.lang.NoClassDe£FoundError での例外。
Java ツール プログラムは、指定された .class クラスを見つけることができませんでした。指定されたクラスが現在のディレクトリに正しい名前で保存されているかどうかを確認する必要があります。
(2) スレッド「メイン」java.lang.NoSuchMetliodError: main での例外。
Javaプログラムのエントリポイントは指定されていません。 Java ツール プログラムによって指定されるクラスにはプログラム エントリが必要です。つまり、メソッド main(String args[]) が含まれている必要があります。
ヒント: 以下の章では、特に強調しない限り、Java プログラムのコンパイル方法と解釈方法は繰り返されません。