HIR-NET Home Books Index

Visual J++アプレットプログラミング入門
序

第1部  Javaとインターネット
第1章  インターネットの世界
  1.インターネットのしくみ
    インターネットとWWW
    ブラウザーの意味
    サーバーというコンピューター
    サーバーでは大したことはできない
  2.Javaの考え方
    分散処理
    Java仮想マシン
    Javaホームページのしくみ

第2章  Javaの裏側
  1.Javaの歴史
    Javaの前身Oak
    Java,Oak,C++,C
    Javaに改名
  2.Javaの光と影
    Javaのお話
    Javaの問題点
    JavaはC/C++より、100倍も遅い
    JITコンパイラの限界
  4.Javaの陰謀
    Java、真の目的
    Javaチップ登場
    Java仮想マシンは既に仮想ではない
    Javaは体制を崩すか
    ユーザーの利益となるか

第3章  激変するインターネット
  1.Java危うし
    JavaいらずのアニメーションGIF
    新言語の追撃
  2.Java以外のアニメーション手法
    アニメーションGIFの登場
    アニメーション・プラグインの登場
    ベクトルアニメーション FutureSplash
  3.Java以外のインターネット用言語
    JavaScriptの登場
    スクリプト言語
    VBScriptの登場
    インターネット用言語はブラウザー次第
    HTMLも危うい?

第4章  JavaとVisual J++
  1.Javaはどう評価されるべきか
    シー・マイナー・スマイナイッス
    ホームページにオブジェクト指向は大袈裟
    プログラミング言語としてのJava
  3.Javaの限界
    大きなプログラムは作れない
    画像より厳しい
  4.JavaとC/C++
    Javaでgoto文が使える日
    Visual J++では順次演算子が復活
    C/C++/Javaはお互いに近付く
  5.Javaの今後
    Javaの今後
    勝負はこれから
  6.Visual J++の登場
    Visual J++は新たな言語ではない
    商標の問題


第2部 Visual J++によるJava体験
第1章  Visual J++のインストール
  1.インストールの第1段階
    手順1
    手順2
    手順3
    手順4
    手順5
    手順6
    手順7
  2.インストールの第2段階
    手順1
    手順2
  3.インストールの第3段階
    手順1
  4.インストールの第4段階
    手順1
    手順2
  5.インストール後の再起動には時間が掛かる
    手順1
    手順2
  6.Visual J++を起動するには
  7.Internet Explorer 3.0再インストールの問題点
    Internet Explorer 3.0のインストール先
    インストール先の問題点
    再インストールによる設定の問題
    使用するディスク領域の問題
  8.複数のブラウザーの使用
    ホームページの動作確認
    Netscape Navigatorとの同時使用
    ファイルの拡張子と起動するプログラム

第2章  とりあえず動かしてみましょう
  1.Visual J++の起動
    Microsoft Developer Studioの起動
    Visual J++とVisual C++の併用
  2.Javaアプレット開発の体験
    手順1-1
    手順1-2
    手順1-3
    手順1-4
    手順1-5
    手順2-1
    手順2-2
    手順2-3
    手順2-4
    手順2-5
    手順2-6
    手順3-1
    手順3-2
    手順3-3
    手順3-4
    手順3-5
  3.作ったページの確認
    ブラウザーから直接実行
    Netscape Navigatorが遅いのは?

第3章  Javaのホームページ構築体験
  1.転送するファイルの確認
    転送の必要性
    確実なコマンド・ウィンドウ
    コマンド・ウィンドウによる確認
    File Viewとの違い
  2.ホームページ・ディレクトリの構造
    サーバーのOSはUNIX
    public_htmlディレクトリ
    URLはUNIXのディレクトリ
  3.ファイルの転送方法
    テスト用のディレクトリに転送
    FTPとは何?
    FTP.EXEがない場合
    ftpの起動
    ftpによるディレクトリの作成
    ftpによるファイルの転送
    ftpによるバイナリファイルの転送
    ワイルドカードで複数のファイルを転送する
    転送したファイルの確認
    ftpの終了
  4.Javaホームページの動作確認

第4章  Javaでどんなことができるか
  1.サンプルプログラムのインストール
    手順1-1
    手順1-2
    手順1-3
    手順1-4
    手順1-5
    手順1-6
    手順1-7
  2.サンプルプログラムのコンパイルと実行
    手順2-1
    手順2-2
    手順2-3
    手順2-4
    手順2-5
    手順2-6
    手順2-7
    手順2-8
  3.サンプルプログラムのデバッグ
    手順3-1
    手順3-2
    手順3-3
  4.サンプルプログラムの紹介
    Animator:アニメーション
    ArcTest:円弧の描画
    BarChart:横棒グラフの描画
    Blink:点滅テキスト
    BoundcingHeads:首が歩き回る
    CardTest:カードレイアウト
    DitherTest:カラーディザリング
    DrawTest:マウスによる線描画
    Fractal:フラクタル描画
    GraphicsTest:グラフィックス・プリミティブ
    GraphLayout:自動レイアウト・アルゴリズム
    ImageMap:イメージマップ
    ImageTest:画像拡大縮小
    JumpingBox:マウス追跡
    MoleculeViewer:3次元分子模型
    NervousText:テキストのアニメーション
    ScrollingImages:画像スクロール
    SimpleGraph:簡易グラフ作成
    SpreadSheet:簡単な表計算
    TicTacToe:三目並べ
    TumblingDuke:軌跡の残るアニメーション
    WireFrame:3次元ワイヤーフレーム



第3部 Javaプログラミング

第1章  Javaプログラムのコンパイルと実行
  1.Javaのコンパイラとランタイム
    コンパイラとインタプリタ
    中間言語
    JITコンパイラ
    Javaランタイム
    まとめ
  2.Javaのアプリケーションとアプレット
    アプリケーション
    アプレット
    標準入出力とウィンドウ
    非GUIプログラムとGUIプログラム
  3.JDKとVisual J++
    JDKの性能
    Visual J++にはないJDKの便利なツール
    Visual J++の性能
  4.Java日本語対応の問題点
    JDKの問題点
    Visual J++の問題点
    ブラウザーの問題点
  5.Javaプログラミングの基礎
    プログラミングの基礎
    プログラミングは通常のOSの操作で
    Javaコンパイラの使い方
    Javaインタプリタの使い方
  6.*.javaと*.classは一対一対応しない
    C/C++の常識は通じない
    1つのソースファイルから複数のクラスファイル
    他のソースファイルも自動コンパイル
    C/C++の泣き所を回避!?
  7.JVCとJVIEWのインストール
    インストール先と設定
    PATHコマンド
  8.JVCコマンドの詳細
    使用方法とオプション
    コマンドのヘルプ
    環境変数CLASSPATHとレジストリ
  9.JVIEWコマンドの詳細
    使用方法とオプション
    コマンドのヘルプ


第2章  JavaはC/C++とどう違うか
  1.メソッドは関数である
    メソッドが関数に
    機能が手続きに
      C/C++のプログラム例
      Java風のC++プログラムの例
      Javaのプログラム例
  2.クラスは構造体である
    クラスとオブジェクト指向
    オブジェクト指向が有効な場面
  3.クラスの元祖は配列である
    配列の理解が第一歩
    配列の利点
      Cの配列の使用例
      C++の配列の使用例
      Javaの配列の使用例
    構造体は配列の特殊な場合
      Cの構造体の使用例
      C++の構造体の使用例
      Javaの構造体(クラス)の使用例
  4.構造体とメンバ関数
    メソッドはメンバ関数である
      C++のメンバ関数の使用例
      Javaのメンバ関数(メソッド)の使用例
    関数をメンバに持つ構造体で表現
    Cは関数の定義とその呼出
    Javaはメソッドの宣言とその呼出

第3章  Javaプログラミングの基本形
  1.入出力による基本形の違い
    プログラムとのやり取り
    標準出力とグラフィックス
  2.C/C++プログラムの基本形
  3.Javaアプリケーション・プログラムの基本形
  4.Javaアプレット・プログラムの基本形
    paintメソッド
    initメソッド
    インポート
    クラス拡張
  5.アプレット呼出HTMLプログラムの基本形
    HTMLプログラムの記述方法
    <HTML>〜</HTML>タグ
    <HEAD>〜</HEAD>タグ
    <TITLE>〜</TITLE>タグ
    <BODY>〜</BODY>タグ
    <APPLET>〜</APPLET>タグ
    画像サイズの指定は必須
    <PARAM>タグ
  6.Javaアプレット・アプリケーション両用プログラムの基本形
    両用の意味
    アプリケーションのための記述
    initメソッドは明示的に呼び出す
    2つのクラスファイルを生成
    ブラウザーがたくさんある分だけ始末が悪い
  7.デバッグに便利なプログラムの書き方
    ブラウザーの起動が遅い
    アプレットは更新されない
    アプレット・ビューワーの使用
    アプレット・アプリケーション両用プログラムの利用
    Ctrl+Cで終了させる
  8.引数を受けるアプレット・プログラムの基本形
    <PARAM>タグ
    initメソッド
    文字列数値変換
  9.引数付き両用プログラムの基本形
    main, initメソッドそれぞれに
    仮引数はargs.lengthで

第4章  グラフィックス・プログラム
  1.Javaグラフィックス画面
    Javaのキャンバス
    アプレットの画面
    アプリケーションの画面
  2.Javaグラフィックスの座標系
    左上原点
    左上原点は伝統的座標系
    アプリケーション画面の問題点
  3.流れて消えてしまうキャンバス
    現在のウィンドウ・システムの根本的欠陥
    paintメソッド
    描き直しの検証
    1画面が数秒で描けるものを
  4.色
    描画色
    色の指定方法
    HSBとHSV
    カラーモデルHSB
    優れたカラーモデルHLS, HSL
    背景色
    アプレットの境界を分からなくする
  5.描画メソッド
    描画メソッド一覧
    引数
  6.文字列
    setFontメソッド
    文字の大きさの単位
    書体の種類
    drawStringメソッドの形式
    書体の設定はinitメソッドで
    点滅してしまうグラフィックス文字列
    使える書体サイズはなんと1つだけ
  7.安全なキャンバスの設計
    3種の描画手法
    単純描画
    画像バッファ描画後一括表示
    画像バッファ描画中同時表示


第5章  アニメーション・プログラム
  1.マルチタスク・アニメーション
    マルチタスク
    プロセスとスレッド
    スレッドの使用
  2.描画内容
    updateメソッド
    背景
    runはupdateを無限に呼び出す
    repaintは遅い
  3.アニメーションの速度制御
    毎秒表示コマ数制限
    アニメーションの速度を一定に
  4.文字列のスクロール
    文字の大きさの自動調整
    アプレット引数
    アニメーションの手順
  5.正方形が縦横に動くアニメーション
    オブジェクト指向プログラミングの雛型
    アプレット引数
    アニメーションの手順



第4部 Java文法

第1章  メタ言語
  1.本書で使用するメタ言語
    第1形式(拡張BNFの一種)
    第2形式(COBOL言語表記法修正)
  2.構文の例
    仮想言語
    第1形式の例
    第2形式の例

第2章  プログラムと文字
  1.プログラム
    プログラムとは
    翻訳単位
  2.Javaで使える文字
    プログラミング言語の文字
    文字の変遷
    ラテン文字からユニコードへ
    日本語の識別子が使える!?
  3.識別子と予約語
    識別子
    予約語
    C言語の予約語
    C++の予約語
    Javaの予約語
    JavaとC/C++の互換性
    使わない方がよい識別子
  4.注釈
    C言語の注釈
    C++の注釈
    Javaの注釈
    コラム【なぜ /*〜*/ を注釈としたか】

第3章  オブジェクトと型
  1.オブジェクト
    C/C++のオブジェクト
    Javaのオブジェクト
  2.型
    基本型
    派生型と参照型
    汎整数型
    浮動小数点型
    C/C++の基本型の数量的限界
    Javaの基本型の数量的限界
  3.クラス
    型宣言のセミコロンはC/C++互換のため
    クラス宣言
    クラス本体
  4.インタフェース
    インタフェース宣言
    定数宣言
    抽象メソッド宣言

第4章  メソッドと変数
  1.メソッド
    メソッドと関数
  2.局所変数とフィールド
    局所変数
    フィールド宣言

第5章  文
  1.文
    文と宣言
  2.式文と空文
    式のみからなる文が式文
    式ない式文が空文
  3.goto文と識別子ラベル文
    goto文
    識別子ラベル文
  4.if文
    判断制御
    if文の式
    if文の利用
  5.for文
    所定回の反復
    for文の式
    For初期設定
    For再設定は式か?
    隠れ順次演算子
    for文の利用形態
  6.while文
    前判定の反復
    while文の利用形態
  7.do文
    後判定の反復
    do文の利用形態
  8.break文
    ループの終了
    C/C++のbreak文を拡張
  9.continue文
    ループを一部省略
    C/C++のcontinue文を拡張
    continue文の利用形態
  10.return文
    呼出元のメソッドに戻る
  11.switch文
    switch文
    switch文の構造
  12.try-catch-finally文とthrow文
    try-catch-finally文による例外処理
    throw文による例外発生
  13.synchronized文
    スレッド同期

第6章  式と演算子
  1.式
    式
    クラス・インスタンス生成式
    配列生成式
    フィールド参照式
    メソッド呼出式
    配列参照式
  2.演算子
    演算子
    オペランド
    演算子の優先順位
    演算子の結合規則
    オペランドの評価順序
    順次演算子の怪
    C言語演算子一覧表
    C++演算子一覧表
    Java演算子一覧表


第7章  Java構文一覧
  1.メタ言語
  2.文字
    ユニコード
    文字
    注釈
  3.字句
    字句
    識別子
    予約語
    リテラル
    整数リテラル
    10進定数
    16進定数
    8進定数
    浮動小数点リテラル
    文字リテラル
    文字列リテラル
    論理/空リテラル
    区切子/演算子
  4.翻訳単位
    翻訳単位
    パッケージ宣言
    インポート宣言
  5.共通要素
    名前
    変数
    配列
    引数
    返却型
    例外節
  6.型
    基本型
    型宣言
  7.クラス
    クラス宣言
    インタフェース群
    クラス本体
    構築子宣言
  8.インタフェース
    インタフェース宣言
    定数宣言
    抽象メソッド宣言
  9.フィールド
    フィールド宣言
 10.メソッド
    メソッド宣言
 11.文
    ブロック
    局所変数宣言文
    文
    空文
    ラベル付き文
    式文
    if文
    switch文
    while文
    do文
    for文
    跳躍文
    例外
    同期
  12.式
    基本式
    クラス・インスタンス生成式
    配列生成式
    フィールド参照式
    メソッド呼出式
    配列参照式
    後置式
    単項式
    四則演算
    シフト演算
    比較演算
    ビット演算
    論理関係演算
    条件演算
    代入演算
    式