準備

インストール

教室のコンピュータには Debian/GNU Linux 用のJava開発キットがインストールされています。Java SE 6 です。Windows用などで自分で用意するには(注1)参照。

Debian では SUN が Java をオープンソースにすると表明するまえに,オープンソースの Java を作ろうとしました。gcj とか GNUjava などと呼ばれています。まだGUIの方が未完成です。

javaフォルダの作成

これからJavaの勉強を進めるとたくさんのファイルができます。整理のためにユーザーホームの中に java というフォルダを作りることにします。もちろんプログラムごとに別のフォルダに保存してもいいのですが,授業課題はここに保存することで提出されたことになります。

また,以下で説明する環境については ユーザーホームにjavaフォルダがないと説明したとおりにはなりません。

開発環境

本校のシステムではメニューの中にJavaを加えています。でもJDKでプログラムを作るにはJDKを実行するわけではありません。

JDKを使うために2つの別のソフトウェアを用意します。

Gnomeのメニューから,[アプリケーション]-[プログラミング]-[Java] と選択します。

この操作で2つのウィンドウが出てきます。エディタとコマンドライン端末です。

エディタ

具体的にはgeditという名前のエディタです。テキストファイルが作れるなら他のエディタでもよいのです。これはJavaに含まれない道具です。

[アプリケーション]-[アクセサリ]-[テキスト・エディタ]で出てくるものと同じですが,保存先やファイルを開く時のデフォルトの場所が javaフォルダになっています。

コマンドライン端末(ターミナル/コンソール)

具体的にはgnome-terminalという名前のソフトです。ターミナルという言葉を日本語に訳したものが「端末」です。シェルを使ってコンピュータを操作するソフト,つまりキーボードから入力するコマンドで操作をするものです。(注2)

[アプリケーション]-[アクセサリ]-[端末]で出てくるものと同じですが,カレントディレクトリが java になっています。

コマンドライン端末の使い方

タイトルバーには hoge@vine41:/home/hoge/java とありますが,hogeの部分はユーザー名が入ります。vine41はコンピュータの名前(ホスト名)です。/home/hoge/java は現在作業中の場所でカレントディレクトリと呼ばれます。

メニューバーの下には, hoge@vine41:~/java$ とありますがこれはプロンプトと呼ばれます。$ が出ているとコンピュータは入力を受け付けるという状態になっているということです。~/home/hoge の短縮形です。$ の後にコマンドを入力して[Enter]を打つとコンピュータから反応があります。(注3)

たとえば,date というコマンドを入力すると,日時を教えてくれます。

hoge@vine41:~/java$ date[Enter]

date[Enter]の部分がキーボードからの入力です。[Enter]は[Enter]キーを打つことを表しました。実際には見えません。hoge@vine41:~/java$はプロンプト。実際は色の区別はありません。

hoge@vine41:~/java$ date[Enter]
2009年  2月 12日 木曜日 13:34:26 JST
hoge@vine41:~/java$ 

反応がありました。日時を表示した後,再びプロンプトを出してコマンドを受け付けることを示しています。

環境によっては英語ででるかもしれません。

hoge@vine41:~/java$ date[Enter]
Thu Feb 12 13:34:48 JST 2009
hoge@vine41:~/java$ 

自分が誰か聞いてみましょう

hoge@vine41:~/java$ whoami[Enter]
hoge
hoge@vine41:~/java$ 

ここでは hoge と書きましたが現在ログイン中のユーザー名が出ます。

今月のカレンダーも出せます。

hoge@vine41:~/java$ cal[Enter]
      2月 2009
日 月 火 水 木 金 土
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
hoge@vine41:~/java$ 

コマンドライン端末についてお約束

実際にはコマンドライン端末の表示は次々と下の行に出ていきます。上記の操作例は実際には次のようにつながって出ます。一番下まで行くと上の方から隠れていきますが,スクロールバーのマウス操作でスクロールできます。

hoge@vine41:~/java$ date[Enter]
2009年  2月 12日 木曜日 13:34:26 JST
hoge@vine41:~/java$ whoami[Enter]
hoge
hoge@vine41:~/java$ cal[Enter]
      2月 2009
日 月 火 水 木 金 土
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
hoge@vine41:~/java$ 

カーソルキーを使って上の行へ移ることはできません。その代わり[↑]で昔入力したコマンドを現在の位置に表示し,もう一度実行したり,[←][→][BackSpace]などで編集して実行したりできます。

プロンプトに何を表示するかは設定により変更できます。そこで特に重要な時以外は,簡単のためにプロンプトは $ だけを書くことにします(注3)。こんな具合です。

$ date[Enter]
2009年  2月 12日 木曜日 13:34:26 JST
$ whoami[Enter]
hoge
$ cal[Enter]
      2月 2009
日 月 火 水 木 金 土
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
$ 

注1 JDKのダウンロード

Linuxの場合はそれぞれのディストリビューションでカスタマイズしたものを配布しているので、その中から選択するのがいいでしょう。ただし管理者としての権限が必要です。Windowsの場合はSunで無料で配布しているインストーラーを実行すれば簡単に入れることができます。これも管理者としての権限が必要ですが一般用に売られているWindowsでは管理者としてインストールするんだという確認だけでできるようになってきています。

自分でインストールする場合は JRE(Java Runtime Environment) との区別が必用です。SunのサイトでもJREの方はすぐ見つかるのですがJDK(開発キット)の方を見つけるのはちょっと難しいのです。この区別は以前はJREとJ2SEとされていますがJava2といわずに Java SE と呼ぶようになっていたりするのでこの判断も面倒です。

2009年2月にはhttp://java.sun.com/javase/ja/6/download.htmlよりダウンロードできました。でも変わっていくでしょう。ここからのダウンロードにはいくつかの選択肢がありました。

JREJava SE Runtime Environment (JRE) 6 Update 12 これはプログラムしない人向け
JDKJava SE Development Kit (JDK) 6 Update 12 これはプログラムする人向け
NetBeans付きJDK 6 Update 11 with NetBeans 6.5 総合開発環境を含む

総合開発環境は開発時の便利な道具をいろいろ提供してくれますが、その分その使い方も覚えなければなりません。JDKに慣れてきたら挑戦するのもいいでしょう。より有名で、JavaでもC言語でも汎用に使えるEclipseという総合開発環境とSunの提供するNetBeansという総合開発環境とどちらにするかは研究の余地があります。

上記のURLがつかえなくなったら次を参考にさがしてください。

http://java.com JRE配布用サイト
http://java.sun.com/j2se JDK配布用サイト

注2 端末/コンソール/コマンドライン

昔からUNIXというOSは1台のコンピュータに対して複数の操作卓があって一つ一つを端末と呼んでいました。コンピュータは大型で,その末端から操作をするという感覚だったのでしょう。

操作卓はテレタイプというタイプライターのようなものとキーボードからなっていました。キーボードからの入力と出力は長い紙に1行ずつ書かれていきました。その装置一式をコンソールといいました。その後テレタイプはディスプレイに変わりました。でも今のようにウインドウでなく,画面全体が紙でした。スクロールという機能は長い紙を表現するためのものでした。

その操作はキーボードからコマンド(命令)を文字で打って最後に改行キーを打ってコンピュータに送ると,答えが次の行に出てくるというものでした。コマンドを行(ライン)単位で打つのでコマンドラインという言葉が生まれました。

この時に操作をしやすくするための工夫がされたり,何度もする入力を記憶して繰り返してくれる工夫があり,何種類かのソフトウェアが作られました。この手のソフトウェアをシェルといいます。キーボードからの入力を手助けし,コンピュータとの仲を取り持ってくれるソフトウェアです。語源は貝殻。コンピュータを扱いやすいようにくるむイメージだったのでしょう。

ディスプレイに書かれたウィンドウをマウスで操作するGUIの時代になっても文字による操作の方が便利な分野がありますので,この端末(のディスプレイ部分)を一つのウインドウで仮想的に表現するソフトウェアが作られました。仮想端末とかターミナルエミュレータとよばれます。でディスプレイをウインドウで表現し,シェルを走らせるものです。

このウインドウのコンピュータシステム内の位置から「端末」と呼べるし,模している形状から「コンソール」でもあるし,操作方法から「コマンドライン」でもあるわけです。

ただし,形状は端末ですが,それを使ってコンピュータの操作をする方法はシェルのコマンドですから,シェルコマンドなどというキーワードで調べる必要があります。

注3 Windowsのコマンドプロンプト

Windowsでも同様のものがあり,「DOSプロンプト」とか「コマンドプロンプト」などと呼ばれています。ただし操作性は数段劣ります。

この場合のプロンプトは C:\My Document\java> などとなり,Linuxの $ に当たるものは > です。

MS-DOSプロンプトはスタートメニューから、[スタート]-[プログラム]-[アクセサリ]-[MS-DOS(コマンド)プロンプト]で出すことができます。


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