初めてのプログラム(詳細版)

このページについて

Debian/GNU Linux 上でgedit(テキスト・エディタ)とgnome-terminal(コマンドライン端末)を使う場合の詳細です。前のページの記述で困らなかったならこのページを読む必要はありません。

(1)エディタでソースファイルをつくる

エディタを使って java というフォルダ内に次のような内容のファイルを作り、Hello.java という名前で保存します。このファイルをソースファイルといいます。

ファイル名を含めて大文字小文字の違いにも気をつけてください。

ファイル名 Hello.java

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

エディタに入力した様子です。テキストをコピーして貼り付けることもできますが,その場合に注意が3つあります。

  1. 範囲指定のミスで最初の1文字,最後の1文字が抜けたのに気がつかない人がいます
  2. 字下げが乱れる場合があります。プログラムの構造を理解する上で字下げを大切にしてください。
  3. コピーを続けていると全部作ってきたのにまったく理解していない自分に気がつくことがあります。全て自分の手で入力するのも効率が悪いのでお勧めしませんが,新しく学んだ部分だけでも自分の手で入れるとか,コピーで浮いた時間で自分なりの改良・改変をしてプログラムの動作の変化を確認するなど,記憶に残すための工夫と努力を心がけてください。

保存ボタンで保存します。保存の時には「名前」だけでなく「保存場所」が大切。[プログラミング]-[Java]で開いたエディタなら黙っていてもjavaというフォルダに保存されるはずですが,「フォルダの中に保存」の所に「java」とあるのを確認してください。名前には「Hello.java」と入力して保存します。LinuxではそしてJavaプログラムでは大文字・小文字の区別をしますから慣れるまでは特に注意。

もし、javaというフォルダになっていなければ他のフォルダをクリックして、javaフォルダを選んでください。

テキストエディタはファイルの種類に応じてキーワードなどに色を付けます。ここでは拡張子が.javaになったのでJavaのキーワードやダブルクォーテーションで囲まれた部分を色分けしています。プログラムが読みやすくなったり,キーワードの綴り間違いが発見しやすくなりますから,とりあえず保存して名前を先に付けてから入力すると便利です。

(2)コンパイルする

端末で次のように入力します。この色で書かれた部分だけ入力し、最後に[Enter]を押します。[Enter]はEnterキーを表します。

$ javac Hello.java[Enter]


$ はプロンプトです。実際には z1c3s@star00:~/java$ などとなりますが、設定により変化しますのでこのテキストで書く時には $ だけにします。

エラーがなければ次のようにプロンプトがでます。

$ javac Hello.java[Enter]
$ 

うまくいっても報告がありません。素っ気なくプロンプトだけがでるのがUNIX/Linuxにおける成功の印です。

実際の画面では次のように表示されています。

もし、エラーが出たらよく読んでファイルを修正して保存し、もう一度コンパイルします。コンパイルができると、Hello.class ができます。

不思議な警告

エディタで保存する時次のような警告が出ることがあります。

これは,編集しているファイル(今の例ではHello.java)を編集している間に,別のソフトウェアが同じファイルを書き換えたという警告です。ここで保存すると別のソフトウェアがやった変更が無になってしまうので警告しています。もしも本当に自分が同じファイルを複数のソフトウェアで同時に編集しているなら保存してよいものか本当に考えてください。

学校の現在のシステムで同時編集をしていないのにこの警告が出ることがあります。javacでは.javaファイルを読むだけなのに改変したかのように誤解されているようです。ファイルシステムの不具合だと思います。実害はありませんから[とにかく保存する]をクリックします。

(3)実行する

実行は次のようにします。

$ java Hello[Enter]
Hello World!
$ 

ここで入力は $ の後に java Hello とだけ打って[Enter]を押すと,次の行に Hello World! と表示されることを意味しています。


Javaプログラミング(Apr.2011)
聖愛中学高等学校
http://www.seiai.ed.jp/
Aug.2003 初稿?