スラスラわかるJava 第2版


スラスラわかるJava 第2版


翔泳社


著者:中垣健志、林満也


まえがき~第2版に寄せて~
本書について
目次

第1章 Javaプログラミングの基礎
1_1 Javaの全体像
 JRE(Java SE Runtime Environment)
 JDK(Java SE Development Kit)
1_2 Javaの使われ方
 Androidアプリ
 Webサービス
1_3 プログラム
 現実世界でのプログラム
 コンピューターでのプログラム
1_4 Javaでのプログラム
 ソースコードの作成
 コンパイル
 実行
1_5 Javaでプログラムを作るための環境
 標準のJavaツールとメモ帳などのエディターを使う方法
 統合開発環境(IDE)を使う
 jshell
 実際に試してみよう
1_6 Javaプログラミングの基本
 簡単なプログラム

第2章 値と演算
2_1 値
2_2 整数
2_3 小数
2_4 真偽値
2_5 演算子
 算術演算子
 比較演算子
 論理演算子
 条件AND/OR演算子
 三項演算子
2_6 演算時の注意事項
 足し算、引き算、掛け算のオーバーフロー
 割り算の桁落ち
2_7 式
 式の演算子の優先順位
2_8 二進数
 二進数で整数を扱う
 二進数で負の整数を扱う
 二進数で小数を扱う
 二進数のまとめ

第3章 変数
3_1 変数とは?
 宣言
 代入
 参照
3_2 型
 基本型(プリミティブ型)
 参照型(リファレンス型)
3_3 変数の宣言
 変数名の付け方
 変数宣言と初期化
3_4 変数への代入
 代入の評価順序
3_5 変数の参照
 変数の初期値とnull
3_6 代入演算子
 代入演算子
 再帰代入演算子
 インクリメント/デクリメント演算子
3_7 拡大変換とキャスト変換
 拡大変換
 キャスト変換
3_8 変数のfinal宣言

第4章 文字
4_1 文字と文字列
4_2 文字列
 変数の利用
 文字列の連結
 文字列に用意されているメソッドの利用
4_3 文字エンコーディング
 文字セット
 文字エンコーディング
4_4 エスケープシーケンス

第5章 日付
5_1 Javaと日付
 日付の管理単位
5_2 Dateクラス
 日付を管理するクラス
 インスタンスの生成
5_3 Calendarクラス
 カレンダー
 現在の日付を取得する
 指定した日付を取得する
 カレンダーとフィールド
 フィールドの取得
 フィールドの変更
 日付の計算
 タイムゾーン
 時差とDateクラス
5_4 日付を文字列に変換する
 SimpleDateFormatクラス
 ロケール

第6章 コレクション
6_1 コレクションとは?
 コレクションの機能
 コレクション変数の宣言と代入
 コレクションのデータ型の制約について
6_2 リスト
 要素の追加
 要素の削除
 要素の参照
 要素の変更
 ArrayアルゴリズムとLinkedアルゴリズム
6_3 セット
 要素の追加
 要素の削除
 Hash(ハッシュ)アルゴリズム
6_4 マップ
 要素の追加
 要素の削除
 要素の取得
 Hash(ハッシュ)アルゴリズム
6_5 配列
 配列の作成
 要素の取得と変更

第7章 制御文
7_1 プログラムの処理の流れ
7_2 順次
7_3 分岐
 if
 switch
7_4 反復
 while
 do-while
 for
 拡張for
 breakとcontinue

第8章 オブジェクト指向
8_1 オブジェクト指向の基本
 大規模なプログラムを分割する
 オブジェクト指向とは?
 分割されていない「役所」
 非オブジェクト指向的な「役所」
 オブジェクト指向的な「役所」
8_2 オブジェクト指向を構成する4つの概念
 カプセル化
 継承
 ポリモーフィズム
 動的束縛
8_3 オブジェクト指向とJava
 単一継承と多重継承
 オブジェクト、クラス、インスタンス
 Javaでのオブジェクト指向

第9章 クラスの基礎
9_1 クラスの作成
 オブジェクト指向のおさらいとクラス
 クラスを定義するファイルの作成
 クラスの定義(class)
 フィールドの定義
 フィールドの初期値
 メソッドの定義
9_2 インスタンスの作成
 フィールドを使用する
 メソッドを呼び出す
9_3 カプセル化
 カプセル化しない場合
 カプセル化した場合
9_4 継承
 extends
 extends句の省略とObjectクラス
9_5 動的束縛とポリモーフィズム
 動的束縛
 ポリモーフィズム

第10章 クラスの応用
10_1 コンストラクタ
 デフォルトコンストラクタ
10_2 this
10_3 オーバーライド
メソッドのオーバーライド
元のメソッドを完全置き換えるオーバーライド
元のメソッドを生かしたオーバーライド
10_4 オーバーロード
メソッドのオーバーロード
オーバーロードされたメソッドの呼び出し
10_5 オーバーライドとオーバーロードの復習
10_6 final
 メソッドへのfinal指定
 クラスへのfinal指定
10_7 内部クラス
 内部クラス内のthisの扱い
 無名内部クラス
10_8 参照型のキャスト
10_9 静的フィールドと静的メソッド
 静的フィールド
 静的メソッド
 静的メソッドの注意点
 静的フィールド、静的メソッドの用途
10_10 定数
10_11 列挙型(enum型)
 列挙型の定義
 列挙型のメリット

第11章 名前空間とスコープ
11_1 名前空間
 package
 import
11_2 アクセス制御
 Javaでのアクセス制御とサクセス修飾子
 privateアクセス修飾子
 デフォルトアクセス修飾子
 protectedアクセス修飾子
 publicアクセス修飾子
 アクセス制御使い分けの指針

第12章 抽象クラスとインターフェイス
12_1 抽象クラスとは?
 抽象メソッドと抽象クラス
 抽象クラスと抽象メソッドの具体例
12_2 インターフェイス
 複数のクラスから共通点を抜き出す
12_3 インターフェイスの実装方法
 クラスを作成する
 インターフェイスを作成する
 クラスにインターフェイスを実装する
 インターフェイスによるポリモーフィズム
12_4 複数のインターフェイスの実装
 同じメソッドを持つインターフェイス
12_5 インターフェイスの継承

第13章 ジェネリクス
13_1 ジェネリクスとは?
 ジェネリクスの役割
13_2 ジェネリクスの実装
 何でも扱える倉庫クラス
 特定のものを保存できる倉庫クラス
 ジェネリクスを使った倉庫クラス
 複数の型パラメータ
13_3 ワイルドガード
 ワイルドガードを使ったクラスの作成
 ワイルドガードを使ったクラスの利用

第14章 例外
14_1 エラーと例外
 エラー
 例外
 例外の種類
14_2 例外の検出
 例外の検出する
 複数の例外を検出する
 必ず最後に実行する
 リソースを解放する
14_3 例外の発生
 例外を発生させる
 独自の例外を作成する
14_4 例外の伝播
 実行時エラー
 検査例外の伝播
 スタックトレース

第15章 スレッド
15_1 スレッドとは?
 スレッドの利用シーン
15_2 スレッドの基礎
 スレッドを作成する(Threadクラスを利用)
 スレッドを起動する
 スレッドの終了を待つ
 スレッドを作成する(Runnableインターフェイスを利用)
15_3 スレッドセーフ
 矛盾が発生する仕組み
 スレッドの処理の順番
 synchronizedメソッド
 synchronizedブロック

第16章 ライブラリ
16_1 ライブラリとは?
16_2 Javaクラスライブラリ
 java.lang
 java.util
 java.io
 Java 6以前の入力の例
16_3 外部ライブラリ
 外部ライブラリを組み込む
 IntelliJ IDEAでのクラスパスの指定方法
 Eclipseでのクラスパスの指定方法
 コマンドラインでのクラスパスの指定方法
16_4 ライブラリの作り方
 IntelliJ IDEAでのライブライファイルの作り方
 Eclipseでのライブラリファイルの作り方
 コマンドラインでのライブラリの作り方

第17章 リフレクションとアノテーション
17_1 リフレクションの基本
 リフレクションとは?
 Classクラス
 Classクラスのインスタンスを取得する
 Classクラスの情報を取得する
 インスタンスを作成する
 フィールドの操作
 メソッドの操作
 リフレクションの危険性
17_2 アノテーションの利用
 アノテーションの書き方
 Java標準のアノテーション
 独自のアノテーションを作成する
 独自のアノテーションを利用する

第18章 関数型プログラミング
18_1 関数型プログラミングとは?
 関数とは?
 参照透過性
 関数を組み合わせる
18_2 Javaでの関数型プログラミング
 ラムダ(Lambda)
 ストリーム

第19章 ラムダ式
19_1 関数
19_2 ラムダ式を定義する
 引数の省略記法
 処理の省略記法
 ラムダ式の省略の実際
19_3 ラムダ式を使う
 スレッドでラムダ式を使う
 Listオブジェクトの並び替え
19_4 関数インターフェイス
 標準の関数型インターフェイス
 独自の関数型インターフェイス
19_5 メソッド参照とコンストラクター参照
 メソッド参照
 コンストラクター参照

第20章 ストリーム
20_1 ストリームとは?
20_2 中間操作
 ステートレス
 ステートフル
 中間操作の結合
20_3 終端操作
要素を返すもの
結果を返すもの
何も返さないもの
20_4 まとめ

付録
検索キーワード

書籍目次

Posted by shi-n