magazine.gif Javaチュートリアル 第4版

緒言
訳者まえがき

第1章 はじめてのJava

  • Javaテクノロジ現象
    • Javaテクノロジ
    • Javaテクノロジがもたらすもの
    • Javaテクノロジの効用
  • はじめてのJavaプログラミング
    • はじめの一歩(NetBeans IDE)
    • はじめの一歩(Microsoft Windows)
    • はじめの一歩(Solaris OS,Linux)
  • Hellow Worldプログラムを解剖する
    • ソースコードコメント
    • クラス定義
    • mainメソッド
  • エラーの説明
    • コンパイル時のエラー
    • 実行時のエラー
  • 設問と演習

第2章 オブジェクト指向プログラミングの概念

  • オブジェクトとは
  • クラスとは
  • 継承とは
  • インタフェースとは
  • パッケージとは
  • 設問と演習

第3章 Java プログラミング言語の基礎

  • 変数
    • 命名
    • 基本データ型
    • 配列
    • 変数のまとめ
    • 設問と演習:変数
  • 演算子
    • 代入,算術,単項
    • 等値,関係,条件
    • ビット操作演算子とシフト演算子
    • 演算子のまとめ
    • 設問と演習:演算子
  • 式,文,ブロック
    • ブロック
    • 設問と演習:式,文,ブロック
  • フロー制御文
    • if文とif-else文
    • switch文
    • while文とdo-while文
    • for文
    • 分岐文
    • フロー制御文のまとめ
    • 設問と演習:フロー制御文

第4章 クラスとオブジェウト

  • クラス
    • クラスを宣言する
    • メンバー変数を宣言する
    • メソッドを定義する
    • クラスのコンストラクタを作る
    • メソッドやコンストラクタに情報を渡す
  • オブジェクト
    • オブジェクトを生成する
    • オブジェクトを使う
  • クラス詳説
    • メソッドから値を返す
    • キーワードthisを使う
    • クラスのメンバーへのアクセスを制御する
    • インスタンスメンバーとクラスメンバー
    • フィールドを初期化する
    • クラスとオブジェクトのまとめ
    • 設問と演習:クラス
    • 設問と演習:オブジェクト
  • 入れ子のクラス
    • なぜ入れ子のクラスを使うのか
    • staticな入れ子のクラス
    • 内部クラス
    • 内部クラスの例
    • 入れ子のクラスのまとめ
    • 設問と演習:入れ子のクラス
  • 列挙型
    • 設問と演習:列挙型
  • 注釈
    • ドキュメンテーション
    • コンパイラが使用する注釈
    • 注釈の処理
    • 設問と演習:注釈

第5章 インターフェイスと継承

  • インタフェース
    • Javaにおけるインタフェース
    • APIとしてのインタフェース
    • インタフェースと多重継承
    • インタフェースを定義する
    • インタフェースを実装する
    • インタフェースを型として使う
    • インタフェースを書き替える
    • インタフェースのまとめ
    • 設問と演習:インタフェース
  • 継承
    • Javaプラットフォームのクラス階層
    • 継承の例
    • サブクラスでできること
    • スーパークラス中のprivateメンバー
    • オブジェクトのキャスト
    • メソッドのオーバーライドと隠蔽
    • フィールドの隠蔽
    • キーワードsuper
    • スーパークラスとしてのObject
    • finalクラスとfinalメソッド
    • 抽象クラスと抽象メソッド
    • 継承のまとめ
    • 設問と演習:継承

第6章 総称

  • はじめに
  • 非総称バージョンのクラス例
  • 総称型
    • 型パラメータのしきたり
  • 総称メソッドと総称コンストラクタ
  • 有界型パラメータ
  • サブタイプの落とし穴
  • ワイルガード
  • 型消去
  • まとめ
  • 設問と演習

第7章 パッケージ

  • パッケージの作成と利用
    • パッケージを作成する
    • パッケージに名前を付ける
    • パッケージメンバーを使用する
    • ソースファイルちクラスファイルの管理
  • まとめ
  • 設問と演習

第8章 数と文字列

    • 数値クラス
    • 数のファーマット処理
    • 基本算術を越えて
    • 数のまとめ
    • 設問と演習:数
  • 文字
    • エスケープシーケンス
  • 文字列
    • 文字列の生成
    • 文字列の長さ
    • 文字列の連結
    • 文字列のフォーマット処理
    • 数と文字列との間の変換
    • 文字列中の文字の操作
    • 文字列の比較
    • StringBuilder
    • 文字と文字列のまとめ
    • 設問と演習:文字と文字列

第9章 例外

  • 例外とは
  • キャッチもしくは明記の要件
    • 例外の3つの種類
    • キャッチと明記の回避
  • 例外のキャッチと処理
    • tryブロック
    • catchブロック
    • finallyブロック
    • 全体を組み立てる
  • メソッドがスローする例外の明記
  • 例外をスローする
    • throw文
    • Trowableとそのサブクラス
    • Error
    • Exception
    • 例外チェーン
    • 独自の例外クラスを作る
  • チェックされない例外をめぐる論争
  • 例外の利点
  • まとめ
  • 設問と演習

第10章 基本I/O

  • 入出力ストリーム
    • バイトストリーム
    • 文字ストリーム
    • バッファ付きストリーム
    • スキャン処理とフォーマット処理
    • コマンドラインからの入出力
    • データストリーム
    • オブジェクトストリーム
  • ファイル入出力
    • Fileオブジェクト
    • ランダムアクセスファイル
  • New I/Oパッケージ
  • まとめ
  • 設問と演習

第11章 コレクション

  • 概論
    • コレクションフレームワークとは
    • Java Collections Frameworkの利点
  • インタフェース
    • インタフェースColletion
    • インタフェースSet
    • インタフェースList
    • インタフェースQueue
    • インタフェースMap
    • オブジェクトの順序付け
    • インタフェースSortedSet
    • インタフェースSortedMap
    • インタフェースのまとめ
    • 設問と演習:インタフェース
  • 実装
    • Set
    • List
    • Map
    • Queue
    • ラッパー実装
    • ユーティリティ実装
    • 実装のまとめ
    • 設問と演習
  • アルゴリズム
    • ソート
    • シャッフル
    • 日常的なデータ操作
    • サーチ
    • 構成
    • 最大値と最小値の検出
  • カスタムコレクション実装
    • 独自実装を作成する理由
    • カスタム実装の作り方
  • 相互運用性
    • 互換性
    • API設計

第12章 並行処理

  • プロセスとスレッド
    • プロセス
    • スレッド
  • Threadオブジェクト
    • スレッドの定義と起動
    • sleepによる実行の休止
    • 割り込み
    • join
    • 2つのスレッドを使ったプログラム例
  • 同期化
    • スレッド衝突
    • メモリ整合性エラー
    • synchronizedメソッド
    • 同期化と組み込みロック
    • 原子アクセス
  • 活動性
    • デッドロック
    • スタベーションとライブロック
  • ガード付きブロック
  • 変更不可オブジェクト
    • 変更可能なクラス
    • 変更不可オブジェクトを定義するための戦略
  • 高レベルの並行処理オブジェクト
    • ロックオブジェクト
    • エグゼキュータ
    • 並行コレクション
    • 原子変数
  • 参考文献
  • 設問と演習

第13章 正規表現

  • はじめに
    • 正規表現とは
    • パッケージjava.util.regexの構成
  • テスト用プログラムの紹介
  • 文字列リテラル
    • メタキャラクタ
  • 文字クラス
    • 単純クラス
    • 否定
    • 範囲
    • 結合
    • 交差
    • 減算
  • 定義済み文字クラス
  • 数量子
    • 長さゼロのマッチ
    • キャプチャグループと文字クラスと数量子
    • 最長一致と最短一致と強欲な数量子
  • キャプチャグループ
    • キャプチャグループの番号
    • 後方参照
  • 境界指定子
  • クラスPatternのメソッド
    • Patternオブジェクト生成時のフラグ指定
    • 埋め込みフラグ表現
    • メソッドmatches
    • メソッドsplit
    • その他のユーティリティメソッド
    • java.lang.Stringのメソッド
  • クラスMatcherメソッド
    • インデックスメソッド
    • 調査メソッド
    • 置換メソッド
    • メソッドstartおよびendの利用例
    • メソッドmatchesおよびlookingAtの利用例
    • メソッドreplaceFirstおよびreplaceAllの利用例
    • メソッドappendReplacementおよぶappendTailの利用例
    • java.lang.Stringのメソッド
  • クラスPatternSyntaxExceptionのメソッド
  • まとめ
  • 参考文献
  • 設問と演習

第14章 プラットフォーム環境

  • 設定ユーティリティ
    • プロパティ
    • コマンドライン引数
    • 環境変数
    • その他の設定ユーティリティ
  • システムユーティリティ
    • コマンドライン入出力オブジェクト
    • システムプロパティ
    • セキュリティマネージャ
    • クラスSystemのその他のメソッド
  • PATHとCLASSPATH
    • PATHの更新(Windows)
    • PATHの更新(SolarisまたはLinux)
    • CLASSPATHのチェック(すべてのプラットフォーム)
  • 設問と演習

第15章 Swing

  • Swingパッケージ概説
    • Swingとは
    • Swingのデモ
  • Swingの機能
    • Swingコンポーネント
    • プラガブルLook&Feel
    • ドラッグ&ドロップとデータ転送
    • 国際化とローカライズ
    • アクセシビリティ
    • デスクトップとの結合
    • システムトレイのサポート
  • 設問と演習

第16章 JARファイル

  • JARファイルの使い方
    • JARファイルの作成
    • JARファイルの内容の表示
    • JARファイルの内容の抽出
    • JARファイルの更新
    • JAR中のプログラムの実行
  • マニフェストファイル
    • デフォルトのマニフェスト
    • マニフェストファイルの更新
    • アプリケーションのエントリポイントを設定する
    • JARファイルのクラスパスにクラスを追加する
    • バージョン情報を設定する
    • JARファイル中にパッケージをシールする
  • JARファイルの署名と検証
    • 署名と検証
    • JARファイルに署名する
    • 署名付きJARファイルを検証する
  • JAR関連のAPI
    • サンプルアプリケーション:JarRunner
    • クラス JarClassLoader
    • クラス JarRunner
  • 設問と演習

第17章 Java Web Start

  • Java Web Startアプリケーションの実行
    • ブラウザからの実行
    • Javaキャッシュビューアからの実行
    • デスクトップからの実行
  • Java Web Startアプリケーションの配備
    • Webサーバをセットアップする
    • JNLPファイルを作成する
    • アプリケーションをWebサーバに配置する
    • Webページを作成する
  • Java Web Startアプリケーションの開発
    • アプリケーションをJARファイルにまとめる
    • JARファイル中のリソースを読み込む
    • 信頼されていないアプリケーション
  • JNLP API
  • Java Web Startとセキュリティ
    • Java Web Startアプリケーションの基本セキュリティ
    • Java Web Startと署名付きJARファイル
    • JNLPファイルとセキュリティ
    • HTTPS証明書の動的ダウンロード
  • Java Web Start関連のよくある問題
  • 設問と演習

第18章 アプレット

  • はじめてのアプレット
    • AppletまたはJAppletを拡張する
    • アプレットのライフサイクル
    • マイルストンのメソッド
    • 描画とイベント処理のためのメソッド
    • UIコンポーネントを追加するためのメソッド
    • アプレットにできることとできないこと
  • アプレットのAPIを活用する
    • データフィルの検出とロード
    • 短いステータス文字列を表示する
    • ブラス座に文書を表示させる
    • 他のアプレットにメッセージを送る
    • サウンドの再生
    • アプレットパラメータの定義と利用
    • APPLETタグを使う
  • アプレット作成時の留意事項
    • セキュリティ上の制約
    • ユーザーインタフェースの作成
    • システムプロパティを取得する
    • アプレットにおけるスレッド
    • サーバーサイドアプリケーションとの連携
  • アプレットを仕上げる
    • アプレットを公開する前に
    • 高度に完成されたアプレット
  • アプレットの配備
    • 一般的考慮事項
    • APPLETタグ
    • OBJECTタグ
    • EMBEDタグ
    • ブラウザが混在する環境での配備
  • アプレットによくある問題
  • 設問と演習

付録A Java 言語におけるキーワード
付録B Java 認定試験との対応関係
付録C 設問と演習の解答
付録D 訳語対照表

索引