----------------------------------------------------------- // JavaCoffee.java :コーヒー一杯いかがですか。 // T. Furuta import java.applet.Applet; import java.awt.Graphics; public class WhatJava extends Applet { public void paint(Graphics str) { str.drawString("Would you like to drink a cup of Java?",60,20); } } -----------------------------------------------------------
Java言語の特徴 Javaは、SUN Microsystems社の家電製品のソフトウェア開発の一環として 開発されたプログラミング言語です。1990年からプロジェクトチームのJames Goslingによって開発が進められ、Oakと呼ばれるプログラミング言語から 発展してきました。。 Java言語が一躍有名になったのは、1995年にサンがHotJavaと呼ばれるブラ ウザを公開してからです。その原因の一つはHotJavaはJava言語で書かれてい たことにありまました。 以下Javaの特徴をあげておきます。 ・Javaはプラットホームと独立です。 つまり、コンパイラがOSや機種に依存しないコードを生成します。 コンパイラはバイトコードを生成します。 このことは、Javaがいろいろの機種やOSが混在するWeb上で特に威 力を発揮することを意味します。 ・CやC++と同等の柔軟性と威力をもつ言語といえます。 アプリケーションであるHotjava(WWWブラウザ)もJava言語で書かれてい ます。 ・C++のようなオブジェクト指向の言語ですが、仕様はC++よりもシンプル です。 ・ポインタ演算がありません。 ・使用後のメモリは自動解放です。ですから安心して使用できます。 ・CやC++のようには、型宣言などのチェックが厳しくありません。 したがって、C や C++よりも信頼性の高いソフトウェアを開発できます。
ネットワーク用のアプリケーションがJava言語で書かれることが 多くなって来ました。 この要因をあげると、 ・コンパイラがOSや機種に依存しないコードを生成する。 ・CやC++と同等の柔軟性と威力をもつ言語である。 ・CやC++ではポインタの誤用や悪用からセキュリティホールが生じや すいのに対し、Java言語ではポインタ演算がないから、安全性が高い。 ・実行系は、コンパイルされたバイトコードをチェックし、コードのフォ ーマットは正しいか、コードは規則通りかどうかを調べる。これにより、 Javaコンパイラをいじって不正な命令をバイトコードに含ませようとし ても、実行系でチェックにかかりやすい。 ネットワーク上で怖いのはむしろ、 ・訳の分からないサイトから訳の分からない実行ファイル(ゲームソフト など)をダウンロードしてくることです。 ・パスワード管理が杜撰(ずさん)で外部から入り込まれやすい。 Javaの安全性については、 ・JAVA-SUN ・JAVASOFT を見て下さい。
Javaでは、 ・単体で動くアプリケーション(通常はインタプリタの下で動きます) ・Javaアブレット(HTMLファイルから呼び出して動かす) の双方を作ることができます。 どちらを作るにしても、コンパイルしなければなりません。 自分のホームページでいろいろなことをやってみたい人は、この際、Java 言語によるプログラミング、コンパイルの仕方、デバッギングの方法などを 同時に勉強しましょう。
Java/HotJavaに関する情報 Javaに関する英語版の全情報は、 http://java.sun.com http://www.javasoft.com から、またJavaに関する日本語版の全情報は、 http://www.sun.co.jp/smi.jp/tech/java/ から、それぞれ入手できます。
本体とドキュメントの入手先は、 http://java.sun.com です。 ============================================= Windows95/NT用として jdk1.1.5、 jdk1.1.1 などがあります。 =============================================
・ローラ・リメイ & チャールズ・パーキンス著 武舎・久野・久野訳『Java言語入門』(プレンティスホール,1996)4,800円 CD-ROMが付いています。付属のJDKはJDK-1.02です。 国内外のサイトから情報やバイナリファイルをFTできない人には便利です。 641ページもある分厚い参考書です。 入門から上級レベルまで、全てのプログラマーが満足できます。 一冊だけ買うならこの本でしょう。 ・田中ひろゆき著『はじめてのJava & JavaScriptプログラミング』 (ソフトバンク,1996)2,700円 CD-ROMが付いています。付属のJDKはJDK-1.02です。 JavaScriptの解説も付いています。 ・ポール・ティマ著、吉川明広訳 『Javaパワープログラミング』(ソフトバンク,1996)5,800円 ・J.Rodley著、岩谷 宏訳 『Javaで作るインターネットアプリケーション』 (ソフトバンク,1996)3,900円 ・有我・衛藤他著『Java入門』(翔泳社,1996)2,800円 付属のJDKはJDK-beta2とバージョンが古くなってしまっています。 統合開発環境(TEIKADE)が含まれています。 アブレットの作り方の説明は丁寧です。 ・D.Flanagan著 日本・サンマイクロシステムズ監訳 『Java クイックリファレンス』(オーム社),本体3,900円 ISBN 4-900900-08-7 なお、このハンドブック第2部に所収のコードは下記サイトからダウン ロードできます。ハンドブックをお持ちの方には重宝です。
Java言語でアブレットを作っても、それを動かせるのは Netscape Navigator 2.01 以降のバージョン、 Internet Explorer 3.0 以降のバージョン、 です。 ・以下のアブレットはJDK1.02のデモ用として公開されたものです。 アブレットを動かし、"The source" の箇所をクリックすると、著作権等に 関する事項やソースコードを見ることができます。使用規定を守りながら、 プログラミングの手法を学びましょう。
・以下のアプレットはD.Flanagan『Javaクイックリファレンス』(O'Reilly)に掲載の プログラムをO'Reillyのサイトからダウンロードしたものです。
1997年5月末の、最新JDKは JDK 1.1.2 : Windows95/NT 版です。 以下では、JDK 1.1.1 : Windows95/NT 版 の場合でインストール の仕方を説明します。 (1) jdk1_1_1 のインストール jdk1_1_1-win32-x86.exe は自己解凍ファイルです。 解凍したいドライブで解凍して下さい。私の場合、C:\ 親ディレクトリ(JDK1.1.1)やサブディレクトリ(bin,lib,include,demo,src)が 自動的に作られます。 ここで注意すべきことは、lib\classes.zip ファイルを絶対解凍しないことです。 (2) 環境変数の設定 私の場合(Windows NT 4.0) 「マイコンピュータ」、「コンパネ」、「システム」、「環境」、 「システム環境変数」に、次の1行を加えます。 PATH に C:\JDK1.1.1\bin を加え、 皆さんの場合、Windows95だとしたら、 autoexec.bat で、 PATH に JDK1.1.1\bin を加え、 を加えて、パス指定します。 (3) コンパイルの仕方 ソースプログラムのファイル名にはクラス名として「.java」をつけ ます。 もし WhatJava というクラスならば、ファイル名は WhatJava.java となります。 実際のコンパイルは、パスが指定されているものとすると、 コンパイルするファイル(WhatJava.java)があるディレクトリに おいて、DOSのコマンドラインで、 javac WhatJava.java とします(コンパイラ名はjavac.exeです)。 注意:エクスプローラからjavac.exeをダブルクリックしても起 動しません。 :コンパイラはjavaファイルの名前(WhatJava)の大文字・小 文字を区別しますから、記述は正確にしましょう。 :最後のクラス名{.java}も必ずつけて下さい。 付けないとエラーです。 ソースコードが正常にコンパイルされれば、コンパイラはメッセー ジを表示せず、 WhatJava.class というファイルを作成します。 このclassファイルは、Netscape Navigator 2.01以上のバージョン などを用いて実行できます。
(JDK 1.0.2 : Windows95版) 最も簡単なプログラム 上記の WhatJavaのプログラムです。 WhatJava.java ----------------------------------------------------------- // Java Applet Example 1 // 1996.8 // T.Furuta import java.applet.Applet; import java.awt.Graphics; public class WhatJava extends Applet { public void paint(Graphics str) { str.drawString("Java? What is it?",60,20); } } ----------------------------------------------------------- <解説> ・まず、使用するクラス(パッケージに入っているもの)を指定します。 import 文を用います。 ここでは、 java.appletパッケージのAppletクラス (アプレットを作るので必要) java.awtパッケージのGraphicsクラス (グラフィックスのために必要) をインポートします。 ・次は、クラス定義の書式です。 クラスはどこからでも見える(参照可能)とします。 public をつけます。 アブレットのクラス名を WhatJava とします。 ですから、 class WhatJava です。 新たに作るWhatJavaクラスはAppletクラスのサブクラスです。 継承されるクラスはスーパークラスといい、この場合はApplet です。 extends Applet となります。 以上をまとめると、クラスの定義は、 public class WhatJava extends Applet となります。 クラス定義の本体はカッコ{ }内に書きます。 ・クラス定義の本体 画面に図を描くときは、paintメソッドを用います。またpaintメッソド のオブジェクトはGraphicsクラスのインスタンスです。 文字列表示はdrawStringメソッドを用いています。 拡張したい場合は、 円ならdrawCircle、四角ならdrawRec、 楕円ならdrawOvalメソッドを使います。 ・プログラムの中のコメント コンパイラは、"//"から行末までを無視しますから、コメントを書くこ とができます。これはC++と同じです。 また、"/*"から"*/"までを無視します。これはCと同じです。
・まず、[*.java] と [*.class] ファイルをWWWサーバーの適切なデイレク トリに転送します。 HTMLファイルを置いているデイレクトリでもよいし、その下のサブディ レクトリでもよい。 ・次に、[*.class] や [*.java] を呼び出すHTMLファイルを作成します。 このときに注意したいのは、全てのブラウザがアブレットに対応している訳で はないということです。 そのことを考慮し、エチケットとして、 「申し訳ありません。このアプレットはJava対応ブラウザでしか動きません。」 と表示するようにしておきましょう。 なお、アブレットを呼び出すHTMLファイルはどこに置いてもよいですが、 私は、classesデイレクトリに置いています。[*.class] や [*.java] とそれら を呼び出す [*.HTML] を同一ディレクトリに置いておくと、ファイルのパス指 定が簡単ですし、ファイルの削除も一括してできますから便利です。 ・最後に、自分のホームページ用のHTMLファイルからアブレットを呼び出すか、 またはアブレットを呼び出すHTMLファイルにリンクを張って完成です。