改訂2版 パーフェクトJava

  • 技術評論社
3.92
  • (2)
  • (7)
  • (3)
  • (0)
  • (0)
本棚登録 : 120
感想 : 4
本ページはアフィリエイトプログラムによる収益を得ています
  • Amazon.co.jp ・本 (592ページ)
  • / ISBN・EAN: 9784774166858

作品紹介・あらすじ

Javaで開発を行う人へのバイブル的1冊です。5年ぶりの改訂でJava8に完全対応しています。基礎から実践までを幅広く学習でき,Javaを扱ううえで知っておきたい知識は,この一冊に網羅されています。基本文法はもちろん,Java8のラムダ式,メソッド参照,ストリーム処理,GUIに関してもJava FXについて解説しています。この一冊でJavaの学習は完璧といえる内容をめざします。これからJavaをはじめたい初心者にも,すでに実践でJavaを使っている中級者にもお勧めできます。

感想・レビュー・書評

並び替え
表示形式
表示件数
絞り込み
  • 【書誌情報】
    井上誠一郎,永井雅人 著
    版型:B5変形判/592ページ
    2014年11月1日紙版発売
    定価:3,520円(本体3,200円+税10%)
    ISBN:978-4-7741-6685-8

    Javaで開発を行う人へのバイブル的1冊です。5年ぶりの改訂でJava8に完全対応しています。基礎から実践までを幅広く学習でき,Javaを扱ううえで知っておきたい知識は,この一冊に網羅されています。基本文法はもちろん,Java8のラムダ式,メソッド参照,ストリーム処理,GUIに関してもJava FXについて解説しています。この一冊でJavaの学習は完璧といえる内容をめざします。これからJavaをはじめたい初心者にも,すでに実践でJavaを使っている中級者にもお勧めできます。

     こんな方におすすめ
    ・最近のJavaを知らない人
    ・日常的にJavaを使っているが,知識にあやふやな部分がある人
    ・Javaの構文は知っているが,現場での開発経験が少ない人
    ・他のプログラミング言語を使いこなしているが,Javaをあまり知らない人
    https://gihyo.jp/book/2014/978-4-7741-6685-8

    【メモランダム】
    [http://dev.ariel-networks.com/column/tech/i18n-part2/]


    【簡易目次】
    Part1 Java ~ overview
    1章 Javaの概要
    Part2 Java言語基礎
    2章 文字と文字列
    3章 数値①
    4章 変数とオブジェクト
    5章 クラス
    6章 コレクションと配列
    7章 インターフェース
    8章 ラムダ式とストリーム処理
    9章 文,式,演算子
    10章 Javaプログラムの実行と制御構造
    Part3 Java言語発展
    11章 数値②
    12章 パッケージ
    13章 列挙型と定数と不変型
    14章 例外処理
    15章 ジェネリック型
    16章 ファイルとネットワーク
    17章 スレッド
    18章 リフレクション
    19章 アノテーション
    Part4 JavaFX
    20章 JavaFX概論
    21章 JavaFXとグラフィックス
    22章 JavaFXと対話処理
    23章 JavaFXと並行処理
    24章 JavaFXユーザインターフェース


    【目次】
    はじめに [003]
    目次 [004-014]


      Part1 Java ~ overview 015

    1章 Javaの概要
    1-1 Java概論 016
      1-1-1 Javaの特徴
      1-1-2 JVM
      1-1-3 Javaの歴史

    1-2 Javaプログラミング初歩 018
      1-2-1 本書サンプルコードのスタイル

    1-3 設計と抽象化 020


      Part 2 Java 言語基礎 021

    2章 文字と文字列
    2-1 文字列とは 022

    2-2 文字列の操作 022
      2-2-1 Stringクラス
      2-2-2 Stringクラスの使用例
      2-2-3 文字列リテラル
      2-2-4 StringBuilder クラス
      2-2-5 文字列の結合
      2-2-6 文字列の比較
      2-2-7 文字列の大小比較とソート処理
      2-2-8 数値と文字列の相互変換
      2-2-9 toStringメソッド
      2-2-10 文字列の書式処理

    2-3 文字 042
      2-3-1 文字とは
      2-3-2 文字リテラル
      2-3-3 文字と文字列
      2-3-4 文字と文字列の変換
      2-3-5 文字とコードポイント

    2-4 バイトと文字 046
      2-4-1 バイトとは
      2-4-2バイト列と文字列の変換


    3章 数値
    3-1 整数 049
      3-1-1 整数型
      3-1-2 ビット長と値の範囲
      3-1-3 桁あふれ
      3-1-4 リテラル表記
      3-1-5 文字と数値
      3-1-6 複数の整数型がある理由
      3-1-7 整数型の使い分けの指針

    3-2 整数の演算 057
      3-2-1 四則演算
      3-2-2 剰余
      3-2-3 符号反転
      3-2-4 インクリメントとデクリメント
      3-2-5 ビット演算

    3-3 型变换 060
      3-3-1 拡大変換と縮小変換
      3-3-2 キャスト

    3-4 ブーリアン(真偽値) 066
      3-4-1 ブーリアン型
      3-4-2 ブーリアン型の注意点


    4章 変数とオブジェクト
    4-1 基本型と参照型 071
      4-1-1 はじめに
      4-1-2 オブジェクトと参照
      4-1-3 参照型変数とは
      4-1-4 基本型変数
      4-1-5 変数の宣言
      4-1-6 変数の初期化
      4-1-7 変数名に使える文字と規約
      4-1-8 変数の修飾子

    4-2 オブジェクト生成と代入 079
      4-2-1 new式によるオブジェクト生成
      4-2-2 参照型変数の代入
      4-2-3 基本型変数の代入
      4-2-4 メソッド呼び出し時などの代入
      4-2-5 null参照
      4-2-6 Optional型
      4-2-7 変数を介さないオブジェクトの操作

    4-3 変数と型 089
      4-3-1 変数型と代入可能オブジェクト

    4-4 変数の詳細 092
      4-4-1 変数の種類
      4-4-2 変数のデフォルト初期値
      4-4-3 変数のスコープ

    4-5 オブジェクトの寿命 096

    4-6 final変数と不変オブジェクト 096
      4-6-1 参照型のfinal変数
      4-6-2 final変数と不変オブジェクトの動作の違い
      4-6-3 堅牢なプログラムのための工夫


    5章 クラス
    5-1 クラスとオブジェクト 099
      5-1-1 クラスの概論
      5-1-2 フィールドとメソッド
      5-1-3 オブジェクト
      5-1-4 クラスの役割
      5-1-5 オブジェクト、インスタンス、クラス、型、雛型
      5-1-6 既存クラスの利用
      5-1-7 オブジェクトのライフサイクル管理とファクトリパターン
      5-1-8 クラス自体を利用(ユーティリティクラス)

    5-2 クラス宣言 109
      5-2-1クラスの修飾子
      5-2-2 クラスの構成要素

    5-3 フィールド 111
      5-3-1 フィールド宣言
      5-3-2 フィールド変数とフィールドオブジェクト
      5-3-3 フィールド変数の初期化
      5-3-4 フィールド宣言の修飾子
      5-3-5 同一クラス内のフィールド変数のスコープ
      5-3-6 他のクラスからフィールド変数にアクセス
      5-3-7 this参照

    5-4 メソッド 115
      5-4-1 メソッド宣言
      5-4-2 メソッド宣言の修飾子
      5-4-3 同一クラス内のメソッドのスコープ
      5-4-4 他のクラスからのメソッド呼び出し
      5-4-5 メソッド呼び出しと引数
      5-4-6 ローカル変数とパラメータ変数
      5-4-7 可変長引数
      5-4-8 メソッドの返り値
      5-4-9 メソッドのオーバーロード
      5-4-10 メソッドのシグネチャ
      5-4-11 再帰呼び出し

    5-5 コンストラクタ 125
      5-5-1 コンストラクタの宣言
      5-5-2 コンストラクタの意義
      5-5-3 コンストラクタのオーバーロード
      5-5-4 this呼び出しとsuper呼び出し
      5-5-5 デフォルトコンストラクタ
      5-5-6 初期化ブロック
      5-5-7 オブジェクト初期化処理の順序

    5-6 staticメンバ 131
      5-6-1 クラスメンバ
      5-6-2 クラスフィールド(staticフィールド)
      5-6-3 同一クラス内のクラスフィールド変数のスコープ
      5-6-4 他のクラスからクラスフィールド変数にアクセス
      5-6-5 インスタンスフィールド変数とクラスフィールド変数
      5-6-6 クラスメソッド(staticメソッド)
      5-6-7 他のクラスからクラスメソッドの呼び出し
      5-6-8 クラスメソッドとインスタンスメンバ
      5-6-9 static初期化ブロック
      5-6-10 クラスをオブジェクトのように扱わないこと

    5-7 継承 139
      5-7-1 継承とは
      5-7-2 拡張継承の構文
      5-7-3 フィールド変数の隠蔽
      5-7-4 メソッドのオーバーライド
      5-7-5 super参照
      5-7-6 継承時のオブジェクト初期化処理の順序
      5-7-7 final 257

    5-8 抽象クラスと抽象メソッド 148
      5-8-1 テンプレートメソッドパターン
      5-8-2 抽象クラスの意義と拡張継承の現実解

    5-9 アクセス制御とカプセル化 150
      5-9-1 アクセス制御の使い分け
      5-9-2 カプセル化

    5-10 ネストしたクラス 152
      5-10-1 ネストしたクラスとは
      5-10-2 staticなネストしたクラス
      5-10-3 内部クラス(非staticなネストしたクラス)
      5-10-4 ローカル内部クラス
      5-10-5 匿名クラス

    5-11 クラスの設計 160
      5-11-1 パラメータ化の意識


    6章 コレクションと配列

    6-1 モノの集まりを扱う 162
      6-1-1 配列とコレクション

    6-2 コレクションフレームワーク 163
      6-2-1 コレクション型オブジェクトの生成
      6-2-2 コレクションの具体例
      6-2-3 コレクションの要素の型
      6-2-4 変数の型をインターフェース型にする意味

    6-3 リスト 166
      6-3-1 リストの具象クラス
      6-3-2 ArrayList
      6-3-3 Linked List
      6-3-4 リストの実装クラスの利用の指針
      6-3-5 リストのサーチ

    6-4 マップ 172
      6-4-1 Hash Map
      6-4-2 LinkedHashMap
      6-4-3 TreeMap
      6-4-4 マップの実装クラスの利用の指針
      6-4-5 NavigableMap

    6-5 セット 181

    6-6 スタック、キュー、デック 183

    6-7 イテレータ(拡張for構文) 184
      6-7-1 コレクションと繰り返し処理
      6-7-2 拡張for構文
      6-7-3 イテレータ
      6-7-4 拡張for構文を使えない場合

    6-8 コレクションの技法 192
      6-8-1 変更不能コレクション
      6-8-2 Collections クラス
      6-8-3 コレクションの初期化記法
      6-8-4 ソート処理
      6-8-5 コレクションと歴史的コード

    6-9 配列 196
      6-9-1 配列とは
      6-9-2 配列の初期化
      6-9-3 多次元配列
      6-9-4 配列のコピー
      6-9-5 Arrays クラス
      6-9-6 配列とコレクションの相互変換


    7章 インターフェース
    7-1 境界の意識と抽象化 205
      7-1-1 境界を意識する重要性
      7-1-2 インターフェースによる抽象化

    7-2 インターフェースと多態(ポリモフィズム) 206
      7-2-1 クラスとインターフェースの違い
      7-2-2 インターフェースを継承(実装)
      7-2-3 インターフェース型の変数
      7-2-4 多態性
      7-2-5 コードの依存性とインターフェース
      7-2-6 インターフェースと抽象クラス

    7-3 インターフェース宣言 213
      7-3-1 インターフェース宣言の文法
      7-3-2 インターフェースの修飾子
      7-3-3 インターフェースのメンバ

    7-4 インターフェースと実装クラス 217
      7-4-1 インターフェース継承の文法
      7-4-2 メソッドのオーバーライド
      7-4-3 ネストしたインターフェース
      7-4-4 default メソッドの明示的な呼び出し
      7-4-5 インターフェース自体の拡張継承
      7-4-6 多重継承

    7-5 インターフェースの設計 224
      7-5-1 コールバックパターン
      7-5-2 多態性による条件分岐の書き換え(ストラテジパターン)


    8章 ラムダ式とストリーム処理
    8-1 ラムダという抽象化 231
      8-1-1 挙動パラメータ
      8-1-2 関数型プログラミングの背景

    8-2 メソッド参照 233
      8-2-1 メソッド参照の文法
      8-2-2 関数型インターフェース
      8-2-3 メソッド参照の実例

    8-3 ラムダ式 239
      8-3-1 ラムダ式の具体例
      8-3-2 ラムダ式の文法
      8-3-3 ラムダ式の型
      8-3-4 ラムダ式の詳細

    8-4 java.util.function 245
      8-4-1 標準関数型インターフェース

    8-5 挙動パラメータの実践 251
      8-5-1 挙動パラメータによる遅延処理
      8-5-2 コレクションのforEachメソッド

    8-6 ストリーム処理 253
      8-6-1 ストリーム処理とは
      8-6-2 ストリーム処理の構造
      8-6-3 ストリームの生成
      8-6-4 ストリームからコレクションや配列を生成
      8-6-5 Stream インターフェース
      8-6-6 並列処理
      8-6-7 reduce処理
      8-6-8 collect処理
      8-6-9 java.util.stream.Collectors


    9章 文、式、演算子
    9-1 Javaの文法と文 272
      9-1-1 文とは
      9-1-2 予約語
      9-1-3 識別子
      9-1-4 制御文
      9-1-5ブロック文
      9-1-6 宣言文
      9-1-7 式文
      9-1-8 空文
      9-1-9 空白文字と改行文字

    9-2 Javaの演算子と式 282
      9-2-1 式の評価順序
      9-2-2 演算子の優先順序と結合規則

    9-3 数値の演算 283
      9-3-1 算術演算
      9-3-2 インクリメント演算とデクリメント演算
      9-3-3 ビット演算

    9-4 文字列の演算 285

    9-5 関係演算と等価演算 287
      9-5-1同一性と同値性

    9-6 論理演算 289
      9-6-1 論理演算の2項演算子
      9-6-2 否定演算子

    9-7 その他の演算 291
      9-7-1 代入演算
      9-7-2 条件演算(3項演算子)
      9-7-3 new演算
      9-7-4 キャスト演算
      9-7-5 instanceof演算
      9-7-6 配列要素の参照演算
      9-7-7 フィールドまたはメソッドのアクセス演算
      9-7-8 メソッド呼び出し演算


    10章 Javaプログラムの実行と制御構造
    10-1 Javaプログラムの実行 295
      10-1-1 プログラムの開始
      10-1-2 プログラムの実行順序
      10-1-3 スタックトレース

    10-2 java.lang.System クラス 298

    10-3 条件分岐 299
      10-3-1 if-else文
      10-3-2 if-else文のイディオム
      10-3-3 条件演算子(3項演算子)
      10-3-4 switch-case X

    10-4 繰り返し 309
      10-4-1 while文
      10-4-2 do-while文
      10-4-3 for文

    10-5 ジャンプ 316
      10-5-1 ループ処理からの脱出
      10-5-2 ラベルを使ったジャンプ


      Part3 Java言語発展 319

    11章 数値② 
    11-1 浮動小数点数 320
      11-1-1 浮動小数点数とは
      11-1-2 どの浮動小数点数型を使うべきか
      11-1-3 浮動小数点数の演算
      11-1-4 strictfp
      11-1-5 浮動小数点数の内部表現
      11-1-6 リテラル表記

    11-2 数値クラス(数値ラッパークラス) 326
      11-2-1 数値オブジェクトの利用

    11-3 ボクシング変換 328
      11-3-1 数値オブジェクトの同値性

    11-4 型変換 330
      11-4-1 拡大変換と縮小変換
      11-4-2 数値とboolean値の型変換
      11-4-3 整数と浮動小数点数の型変換
      11-4-4 数値昇格

    11-5 ビット演算 332

    11-6 BigInteger BigDecimal 332
      11-6-1 BigInteger
      11-6-2 BigDecimal


    12章 パッケージ
    12-1 パッケージとは 335
      12-1-1 パッケージの役割
      12-1-2 パッケージ名
      12-1-3 パッケージ宣言
      12-1-4 ファイルシステムとの関係

    12-2 インポート 339
      12-2-1 2種類のインポート文
      12-2-2 暗黙のインポート
      12-2-3 インポートと名前の衝突
      12-2-4 staticインポート

    12-3 パッケージとアクセス制御 342


    13章 列挙型と定数と不変型
    13-1 リテラル表記 344

    13-2 定数定義 345
      13-2-1 定数定義の使い方
      13-2-2 定数定義の現実的な指針

    13-3 enum型 348
      13-3-1 enum W0 151
      13-3-2 enum宣言
      13-3-3 enum 定数の値
      13-3-4 enum型の振る舞い
      13-3-5 enum 定数とswitch文
      13-3-6 EnumSetとEnumMap

    13-4 不変型 354
      13-4-1 不変型の実装方法
      13-4-2 日付ライブラリで学ぶ不変クラスの設計


    14章 例外処理
    14-1 例外とエラー処理 360
      14-1-1 エラーとは
      14-1-2 エラー処理
      14-1-3 エラー処理の手法
      14-1-4 例外によるエラー処理
      14-1-5 例外の具体例

    14-2 例外の捕捉 368
      14-2-1 例外への対応コード
      14-2-2 try文
      14-2-3 catch節
      14-2-4 finally節
      14-2-5 try-with-resources文
      14-2-6 try文のネスト

    14-3 例外の送出 377
      14-3-1 例外送出とメソッド実行中断
      14-3-2 throw文
      14-3-3 演算による例外送出

    14-4 検査例外と実行時例外 379
      14-4-1 例外クラス
      14-4-2 検査例外
      14-4-3 実行時例外
      14-4-4 エラー例外
      14-4-5 自作の例外クラス

    14-5 throws節 382
      14-5-1 throws節とは
      14-5-2 メソッドのオーバーライドとthrows節
      14-5-3 ラムダ式と例外

    14-6 契約によるデザイン(assert) 385
      14-6-1 assert文

    14-7 例外の設計 387
      14-7-1 例外の指針
      14-7-2 独自の例外(アプリケーション例外)
      14-7-3 例外翻訳
      14-7-4 抑制例外
      14-7-5 イディオム化している実行時例外
      14-7-6 フレームワーク例外


    15章 ジェネリック型
    15-1 ジェネリック型とは 393
      15-1-1 ジェネリック型の利用例
      15-1-2 ジェネリック型の背景

    15-2 ジェネリック型宣言 395
      15-2-1 ジェネリック型宣言の文法
      15-2-2 型変数
      15-2-3 ジェネリックメソッドとジェネリックコンストラクタ

    15-3 ジェネリック型の利用 401
      15-3-1 パラメータ化された型
      15-3-2 ジェネリックメソッドの呼び出し
      15-3-3 型引数のワイルドカード

    15-4 ジェネリック型の設計 404
      15-4-1 雛形としてのジェネリック型
      15-4-2 ジェネリック型への道
      15-4-3 ジェネリック型を使う条件
      15-4-4 ジェネリック型とパラメータ化


    16章 ファイルとネットワーク
    16-1 I/Oストリーム処理 410
      16-1-1 JavaのI/O処理の概要
      16-1-2 I/Oストリームクラスの概論

    16-2 ファイル 412
      16-2-1 バイトI/Oストリーム処理
      16-2-2 標準入出力
      16-2-3 文字I/0ストリーム処理
      16-2-4 バイトI/Oストリームから文字I/0ストリームへの変換
      16-2-5 バッファリング
      16-2-6 ランダムアクセス
      16-2-7 バイト列1/0ストリーム
      16-2-8 ファイルのバス操作
      16-2-9 ファイルのStream 処理

    16-3 ネットワーク(ソケット) 426
      16-3-1 ネットワークプログラミング概論
      16-3-2 クライアント処理・
      16-3-3 サーバ処理
      16-3-4 タイムアウト処理
      16-3-5 並行処理サーバ
      16-3-6 java.nioパッケージを使うネットワーク処理


    17章 スレッド
    17-1 スレッドの利用 437
      17-1-1 スレッドの概要
      17-1-2 スレッドが共有するデータ
      17-1-3 スレッド間で共有されないデータ
      17-1-4 マルチスレッドプログラムの鉄則

    17-2 スレッド生成 441
      17-2-1 java.lang.Thread クラス
      17-2-2 スレッドとRunnableインターフェース
      17-2-3 Thread クラスの拡張とRunnableインターフェースの実装
      17-2-4 スレッドプール

    17-3 同期処理(排他制御) 453
      17-3-1 synchronized コード
      17-3-2 synchronizedメソッド
      17-3-3 synchronized文
      17-3-4 synchronized コードの実例
      17-3-5 Javaのメモリモデル
      17-3-6 volatile修飾子と同期処理
      17-3-7 明示的なロック
      17-3-8 アトミック処理
      17-3-9 通知
      17-3-10 デッドロックと検出
      17-3-11 コレクションの同期処理


    18章 リフレクション
    18-1 リフレクションとは 472
      18-1-1 リフレクションを実現するには

    18-2 型情報の取得 477
      18-2-1 型階層の情報

    18-3 オブジェクト生成 479

    18-4 オブジェクト操作 480
      18-4-1 メソッド呼び出し
      18-4-2 フィールド操作

    18-5 リフレクションの応用 482
      18-5-1 JavaBeans
      18-5-2 DI (Dependency Injection)
      18-5-3 クラスローダとホットデプロイ
      18-5-4 プロクシクラス


    19章 アノテーション
    19-1 アノテーションとは 490
      19-1-1 アノテーションの書き方
      19-1-2 アノテーションの応用例

    19-2 標準アノテーション 492
      19-2-1 @Deprecated
      19-2-2 @SuppressWarnings

    19-3 アノテーション宣言 494
      19-3-1 アノテーション要素
      19-3-2 メタアノテーション

    19-4 アノテーションの適用 498

    19-5 アノテーションの応用 500
      19-5-1 プラグイン
      19-5-2 アノテーションとPOJO


      Part 4 JavaFX 505

    20章 JavaFX概論
    20-1 はじめに 506

    20-2 JavaFXの歴史 506

    20-3 JavaFXプログラミング初歩 507
      20-3-1 Hello World
      20-3-2 パッケージング


    21章 JavaFXとグラフィックス
    21-1 レンダリング 509
      21-1-1 グラフィックスシステム
      21-1-2 レンダリングループ

    21-2 座標系 510
      21-2-1 デカルト座標系
      21-2-2 複数の座標系

    21-3 グラフィックスAPI 511
      21-3-1 保持モードと即時モード
      21-3-2 JavaFX Scene Graph
      21-3-3 JavaFX Canvas
      21-3-4 FXML

    21-4 プリミティブ 515
      21-4-1 幾何図形
      21-4-2 テキスト
      21-4-3 画像

    21-5 幾何変換 522
      21-5-1 基本的な変換
      21-5-2 変換の合成


    22章 JavaFXと対話処理
    22-1 イベント 527
      22-1-1 イベントの種類
      22-1-2 イベント処理

    22-2 プロパティの監視 530
      22-2-1 Java Beanとプロパティ
      22-2-2 JavaFX Beanとプロパティ
      22-2-3 プロパティの変化と無効化
      22-2-4 プロパティの束縛


    23章 JavaFXと並行処理
    23-1 マルチスレッド化 541
      23-1-1 GUIとマルチスレッド
      23-1-2 JavaFXのスレッドルール

    23-2 JavaFXスレッドユーティリティ 544
      23-2-1 Platform.runLaterメソッド
      23-2-2 Taskクラス
      23-2-3 Serviceクラス


    24章 JavaFXユーザインターフェース
    24-1 コンポーネント 551
      24-1-1 ウィンドウ
      24-1-2 コントロール
      24-1-3 メニュー

    24-2 レイアウト 559
      24-2-1 境界ボックス
      24-2-2 位置決め
      24-2-3 サイズ決め
      24-2-4 レイアウトの丸め
      24-2-5 自動レイアウト

    24-3 スキンとスタイル 571
      24-3-1 CSSとスタイル
      24-3-2 スキン


    索引 [585-590]
    おわりに [591]

  • 請求記号 007.64/I 57

全4件中 1 - 4件を表示

井上誠一郎の作品

  • 話題の本に出会えて、蔵書管理を手軽にできる!ブクログのアプリ AppStoreからダウンロード GooglePlayで手に入れよう
ツイートする
×