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.式
基本式
クラス・インスタンス生成式
配列生成式
フィールド参照式
メソッド呼出式
配列参照式
後置式
単項式
四則演算
シフト演算
比較演算
ビット演算
論理関係演算
条件演算
代入演算
式