Java


 -----------------------------------------------------------
 // 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の安全性
 ネットワーク用のアプリケーションが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/

  から、それぞれ入手できます。


1998年3月現在のバージョンは 1.1.5 です。

  本体とドキュメントの入手先は、
    http://java.sun.com
  です。
  =============================================
  Windows95/NT用として jdk1.1.5、 jdk1.1.1
  などがあります。
  =============================================


Javaに関するドキュメント

Javaに関する参考書

 ・ローラ・リメイ & チャールズ・パーキンス著
  武舎・久野・久野訳『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部に所収のコードは下記サイトからダウン
  ロードできます。ハンドブックをお持ちの方には重宝です。


 ・P.Niemeyer and J.Peck著 日本・サンマイクロシステムズ監訳
   『JAVA実践プログラミング』(オーム社),本体4,500円


 最近は本屋に、Java関係の参考書が多数並んでいます。しかし、
 Java Development Kit の改訂を考えると、何冊も買うことはないで
 しょう。

 インターネットで、SUNなどから、最新の情報を得るのがベストです。



**Javaを知るために、アブレットを動かしてみましょう。**


 Java言語でアブレットを作っても、それを動かせるのは
  Netscape Navigator 2.01 以降のバージョン、
  Internet Explorer 3.0 以降のバージョン、
 です。

 ・以下のアブレットはJDK1.02のデモ用として公開されたものです。
  アブレットを動かし、"The source" の箇所をクリックすると、著作権等に
  関する事項やソースコードを見ることができます。使用規定を守りながら、
  プログラミングの手法を学びましょう。
 ・以下のアプレットはD.Flanagan『Javaクイックリファレンス』(O'Reilly)に掲載の
  プログラムをO'Reillyのサイトからダウンロードしたものです。


JDKのインストールとコンパイル


   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と同じです。


実際にどうなるか試して下さい。WhatJava?


アブレットを実際に動かすまでの手順
   ・まず、[*.java] と [*.class] ファイルをWWWサーバーの適切なデイレク
    トリに転送します。
    HTMLファイルを置いているデイレクトリでもよいし、その下のサブディ
    レクトリでもよい。

   ・次に、[*.class] や [*.java] を呼び出すHTMLファイルを作成します。
    このときに注意したいのは、全てのブラウザがアブレットに対応している訳で
    はないということです。
    そのことを考慮し、エチケットとして、
     「申し訳ありません。このアプレットはJava対応ブラウザでしか動きません。」
    と表示するようにしておきましょう。
    なお、アブレットを呼び出すHTMLファイルはどこに置いてもよいですが、
    私は、classesデイレクトリに置いています。[*.class] や [*.java] とそれら
    を呼び出す [*.HTML] を同一ディレクトリに置いておくと、ファイルのパス指
    定が簡単ですし、ファイルの削除も一括してできますから便利です。

   ・最後に、自分のホームページ用のHTMLファイルからアブレットを呼び出すか、
    またはアブレットを呼び出すHTMLファイルにリンクを張って完成です。


戻る