標準プログラマーズ ライブラリシリーズひとりでできる Java 実践入門

[表紙]ひとりでできる Java 実践入門

紙版発売

B5変形判/568ページ/CD1枚

定価3,278円(本体2,980円+税10%)

ISBN 4-7741-1696-3

ただいま弊社在庫はございません。

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

Javaの世界は広く,奥深いものです。きちんとしたプログラムを書けるようになるためには,いろいろなことを学ばなければなりません。その際に重要なのは,どの順番で何を学んでいくかです。本書は,オブジェクトとアルゴリズムに狙いを定め,それを突破口として解説しています。これからの方にも,また一度挫折した方にも最適です。

こんな方におすすめ

  • これから効率的にJavaを独習しようという方
  • Javaの入門で一度挫折してしまった方
  • ステップアップしたい方

著者の一言

この書籍は2つの顔を持っています。1つは「Javaアルゴリズム徹底入門」という顔です。この意味では,Javaプログラマーがアルゴリズムのイメージを思い浮かべながら,1つ1つの基本的なアルゴリズムの作り方を徹底的に学べるしくみになっています。もう1つは「Javaオブジェクト徹底入門」という顔です。本書では,特に,Javaのオブジェクトとインターフェースの取り扱いを徹底的に攻略していきますから,Javaプログラマーだけでなく,はじめてJavaプログラミングに挑戦するCやC++プログラミング経験者でも,Javaのオブジェクトの取り扱いに自信が持てるようになります。

目次

第1章 Javaプログラミングことはじめ

  • 1-1 Javaの開発環境を整える
    • 1-1-1 ツール,ソフトウェア,ドキュメントを入手する
    • 1-1-2 SDKのインストールと準備
    • 1-1-3 日本語版J2SE 1.4.0ドキュメントのインストールと準備
  • 1-2 Java 2 SDKのツール
  • 1-3 簡単なJavaプログラムを作ってみる
    • 1-3-1 ソースコードを保存する
    • 1-3-2 ソースコードをコンパイルする
    • 1-3-3 クラスファイルを実行する
  • 1-4 MyNewJavaプログラムの詳細
    • 1-4-1 クラスファイルとファイル名の仕組み
    • 1-4-2 Javaプログラムのエントリポイントを記述する
    • 1-4-3 プログラムの中身を記述する
    • 1-4-4 ドキュメントを生成してみる
  • 1-5 もう1つのJavaプログラムを作ってみる
    • 1-5-1 Javaの名前空間とは
    • 1-5-2 パッケージをインポートする
    • 1-5-3 Javaの主な定義済みパッケージ
    • 1-6 JARエグゼキュタブルの取り扱いと作り方
    • 1-6-1 JARエグゼキュタブルの取り扱い
    • 1-6-2 JARエグゼキュタブルの作り方
  • 第1章のまとめ

第2章 Javaの基本事項を整理する

  • 2-1 Javaの基本データ型(値型)
    • 2-1-1 Javaの基本データ型を使う
    • 2-1-2 特別なリテラル表記方法を使う
    • 2-1-3 型の拡張変換と縮小変換を理解する
  • 2-2 Javaの文字列と参照型
    • 2-2-1 Javaコンパイラの特別なサポート
    • 2-2-2 new演算子を使ったオブジェクトの生成
    • 2-3 Javaの値型と参照型の違いを理解する
    • 2-3-1 値型の振る舞い
    • 2-3-2 参照型の振る舞い
  • 2-4 条件式と条件分岐
    • 2-4-1 Javaの関係演算子と論理演算子
    • 2-4-2 if構文とif-else構文を使う
    • 2-4-3 if-else-if構文を使う
    • 2-4-4 条件演算子を使う
    • 2-4-5 switch構文を使う
  • 2-5 ループの作り方 ―
    • 2-5-1 whileループを作る
    • 2-5-2 do-whileループを作る
    • 2-5-3 forループを作る
    • 2-5-4 自己再帰呼び出し形式のメソッドを作る
  • 2-6 Javaの演算子
    • 2-6-1 演算子の優先順位と結合規則を理解する
    • 2-6-2 演算子の優先順位を変更する
    • 2-6-3 ビットを操作する演算子
  • 2-7 Javaの配列
    • 2-7-1 配列変数を宣言する
    • 2-7-2 配列オブジェクトを生成する
    • 2-7-3 多次元配列を使う
  • 第2章のまとめ

第3章 Javaのクラスとインターフェースを理解する

  • 3-1 クラス,クラスの継承,抽象クラス,インターフェースとその役割
    • 3-1-1 クラス−オブジェクトの仕様を決定するもの
    • 3-1-2 クラスの継承―再利用の仕組みを提供するもの
    • 3-1-3 抽象クラス−拡張クラスのメソッドの形式仕様を決定するもの
    • 3-1-4 インターフェース−実装クラスのメソッドの形式仕様を
  • 決定するもの
  • 3-2 クラスの可視性を理解する
    • 3-2-1 パッケージ属性とは
    • 3-2-2 アクセス属性と可視性の違い
  • 3-3 クラスの初期化と後始末
    • 3-3-1 デフォルト値による初期化
    • 3-3-2 初期化記述による変数の初期化
    • 3-3-3 コンストラクタによる初期化
    • 3-3-4 クラスの後始末(ガーベージコレクタとファイナライザ)
    • 3-3-5 拡張クラスのコンストラクタとメソッド
  • 3-4 メソッドの引数と戻り値の引き渡し
    • 3-4-1 値渡し(基本データ型の仮引数と戻り値用法)
    • 3-4-2 参照渡し(参照型の仮引数と戻り値用法)
  • 第3章のまとめ

第4章 ウォーミングアップ

  • 4-1 日付と時刻を表示する
  • 4-2 時計プログラムを作成する
  • 4-3 日数計算プログラムを作成する
  • 4-4 ラップタイム計測プログラムを作成する
  • 4-5 タイマープログラムを作成する
  • 4-6 疑似乱数を生成する
  • 4-7 算術演算メソッドを使う
    • 4-7-1 絶対値を求める
    • 4-7-2 中間値を求める
  • 4-8 Java例外の取り扱いを整理する
    • 4-8-1 そもそも例外とはなにか
    • 4-8-2 例外ブロックの詳細
    • 4-8-3 Error系例外とException系例外の意味の違い
    • 4-8-4 Exception系例外とその取り扱い
  • 第4章のまとめ

第5章 Javaアルゴリズムの勘所を理解する

  • 5-1 アルゴリズムの基本事項
    • 5-1-1 past-the-endの慣行に従う
    • 5-1-2 オブジェクトのnull検証コードを記述する
    • 5-1-3 パフォーマンスを考慮する
  • 5-2 Objectクラスを使った型の汎用化
    • 5-2-1 Objectルートクラス
    • 5-2-2 汎用型として使えるObjectクラス型
  • 5-3 インターフェースを理解する
    • 5-3-1 識別インターフェースとは
    • 5-3-2 Comparableインターフェースを実装する
    • 5-3-3 Comparatorインターフェースを実装する
  • 5-4 ObjectバージョンのMidを作ってみる
  • 5-5 SwapとReverseを作ってみる
    • 5-5-1 参照仮引数の落とし穴
    • 5-5-2 参照仮引数を参照渡しする方法
    • 5-5-3 Swapアルゴリズム
    • 5-5-4 Reverseアルゴリズム
  • 5-6 参照の連鎖問題とその解決方法
    • 5-6-1 配列コピーの落とし穴
    • 5-6-2 クラス定義の落とし穴
    • 5-6-3 Javaの周到な仕組みと留意点を理解する
    • 5-6-4 参照の連鎖を断つクラス定義と深いコピーの実現
  • 第5章のまとめ

第6章 Javaのutilパッケージを攻略する

  • 6-1 Javaのコレクションクラスの概要
  • 6-2 ArraysとCollectionsユーティリティ
    • 6-2-1 Arraysクラスを使う
    • 6-2-2 Collectionsクラスを使う
  • 6-3 Hashtableクラスを使う
  • 6-4 Vectorクラス
    • 6-4-1 Vectorクラスを使う
    • 6-4-2 スタックを作る
    • 6-4-3 キューを作る
    • 6-4-4 優先度付きキューを作る
    • 6-4-5 スタック,キュー,優先度付きキューの振る舞い
  • 6-5 ArrayListクラスを使う
  • 6-6 LinkedListクラスを使う
  • 6-7 TreeSetクラスを使う
  • 6-8 TreeMapクラスを使う
  • 第6章のまとめ

第7章 Javaの文字列と正規表現とハッシュコードを使いこなす

  • 7-1 Javaの文字列の取り扱い
    • 7-1-1 Stringクラスを使う
    • 7-1-2 StringBufferクラスを使う
  • 7-2 Javaの正規表現を使う
    • 7-2-1 正規表現とは
    • 7-2-2 正規表現の構文
    • 7-2-3 Stringクラスの正規表現を使う
    • 7-2-4 PatternとMatcherクラスの正規表現を使う
  • 7-3 正規表現を使ったアプリケーション
  • 7-4 線形探索
    • 7-4-1 最大値と最小値の探索
    • 7-4-2 コンパレータを変更してアルゴリズムの振る舞いを変える
  • 7-5 二分探索
    • 7-5-1 二分探索の仕組み
    • 7-5-2 二分探索を作る
  • 7-6 ハッシュ探索
    • 7-6-1 Javaのハッシュコードを理解する
    • 7-6-2 ハッシュコードのもう1つの意味を理解する
    • 7-6-3 最初のハッシュ探索を作る
    • 7-6-4 ハッシュ探索を改善する
  • 第7章のまとめ

第8章 ループと制御構造に強くなる

  • 8-1 挿入ソート
    • 8-1-1 挿入ソートを作る
    • 8-1-2 挿入ソートの振る舞い
  • 8-2 選択ソート
    • 8-2-1 選択ソートを作る
    • 8-2-2 選択ソートの振る舞い
  • 8-3 バブルソート
    • 8-3-1 バブルソートを作る
    • 8-3-2 バブルソートの振る舞い
  • 8-4 シェルソート
    • 8-4-1 シェルソートを作る
    • 8-4-2 シェルソートの振る舞い
  • 8-5 クイックソート
    • 8-5-1 クイックソートを作る
    • 8-5-2 クイックソートの振る舞い
    • 8-5-3 クイックソートを改善する
    • 8-5-4 改善クイックソートの振る舞い
  • 8-6 ソートをクラス型配列に適用するには
  • 第8章のまとめ

第9章 Javaの参照を使いこなす

  • 9-1 Javaの参照と参照メンバー
    • 9-1-1 参照メンバーを備えたノードを定義する
    • 9-1-2 参照先と参照先の付け替えを理解する
  • 9-2 リンクリスト
    • 9-2-1 単方向リンクリストを作ってみる
    • 9-2-2 削除とリバース機能を追加する
    • 9-2-3 ソート機能を追加する
    • 9-2-4 汎用の単方向リンクリストを作る
  • 9-3 双方向リンクリスト
    • 9-3-1 簡単な汎用の双方向リンクリストを作る
    • 9-3-2 汎用の双方向リンクリストを作る
  • 9-4 二分木と二分探索木
    • 9-4-1 二分探索木を作る
    • 9-4-2 二分探索木の振る舞い
  • 第9章のまとめ

第10章 Javaのioパッケージを攻略する

  • 10-1 java.ioパッケージ
    • 10-1-1 文字ストリーム
    • 10-1-2 ストリームのバッファリング
    • 10-1-3 バイトストリーム
  • 10-2 テキストファイルのラインソート
    • 10-2-1 行文字列を使ってラインソートする
    • 10-2-2 キーを使って行文字列をラインソートする
  • 10-3 テキストの単語をカウントする
  • 10-4 複数ファイルレコードを名寄せする
  • 10-5 Fileと正規表現を使ったファイルの検索
    • 10-5-1 ファイルとディレクトリの取り扱い
    • 10-5-2 正規表現を使ってルートディレクトリの表層を検索する
    • 10-5-3 正規表現を使ってファイルビューアを作成する
  • 第10章のまとめ

おわりに