|
【カテゴリ】 Java
独習Java 第6版
|
山田祥寛/著
株式会社 翔泳社/発行
定価
3,278円
B5変版・
672ページ・
2色
ISBN 978-4-7981-8094-6
発刊日:
2024年2月15日
|
本書の特徴
「標準教科書」がJava 21対応の最新版で登場!
初心者がJava言語を学ぶにふさわしい解説書。Javaの基本的な知識・概念・機能はもちろん、文法、プログラムの書き方を豊富なサンプルプログラムとともに、詳細かつ丁寧に解説。プログラミングの基礎知識がない方でも、解説→例題(サンプル)→理解度チェックという3つのステップで、Javaの文法を完全習得。初学者から、再入門者、学生・ホビープログラマまでおすすめの一冊。
本書について取り上げていただいたブログさま
-
・無限大な夢のあと -
noimpslmtbrkさま
-
【書評】独習Java 第6版( @yyamada ) (2024年3月10日)
-
・Tumblr -
pdaxyz-blogさま
-
レビュー「独習Java 第6版」(2024年3月05日)
-
・Mame Blog -
Ryo Endoさま
-
独習Java 第6版(2024年2月24日)
Contents |
- 第1章 イントロダクション
1.1 Javaとは?
1.1.1 Java の特徴
1.1.2 Java のエディション
1.1.3 Java の歴史
1.2 Javaアプリを開発/実行するための基本環境
1.2.1 準備すべきソフトウェア
1.2.2 Oracle OpenJDK のインストール
1.2.3 Visual Studio Code のインストール
1.3 Javaプログラミングの基本
1.3.1 基本的なアプリの作成
1.3.2 コードの全体像
1.3.3 簡単化されたmain メソッド [21 Preview]
1.3.4 デバッグの基本
この章の理解度チェック
- 第2章 Javaの基本
-
2.1 変数
2.1.1 変数の宣言
2.1.2 識別子の命名規則
2.1.3 よりよい識別子のためのルール
2.1.4 定数
2.2 データ型
2.2.1 データ型の分類
2.2.2 基本型の種類
2.2.3 整数型
2.2.4 浮動小数点
2.2.5 文字型
2.2.6 真偽型
2.2.7 型推論
2.3 リテラル
2.3.1 整数リテラル
2.3.2 浮動小数点数リテラル
2.3.3 補足 型サフィックスと区切り文字
2.3.4 文字リテラル
2.3.5 文字列リテラル
2.4 型変換
2.4.1 暗黙的な変換
2.4.2 明示的な変換(キャスト)
2.5 参照型
2.5.1 クラス型
2.5.2 配列型
この章の理解度チェック
- 第3章 演算子
-
3.1 算術演算子
3.1.1 非数値が混在する演算
3.1.2 + 演算子による文字列結合
3.1.3 インクリメント演算子/デクリメント演算子
3.1.4 除算とデータ型
3.1.5 浮動小数点数の演算には要注意
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.5 ビット演算子
3.5.1 ビット論理演算子
3.5.2 ビットシフト演算子
3.6 演算子の優先順位と結合則
3.6.1 優先順位
3.6.2 結合則
この章の理解度チェック
- 第4章 制御構文
-
4.1 条件分岐
4.1.1 if命令―単純分岐
4.1.2 if命令―多岐分岐
4.1.3 if命令―入れ子構造
4.1.4 補足 中カッコは省略可能
4.1.5 switch 命令
4.1.6 switch 式[14]
4.1.7 switch によるパターンマッチング[21]
4.2 繰り返し処理
4.2.1 while/do...while 命令
4.2.2 補足 無限ループ
4.2.3 for 命令
4.2.4 拡張for 命令
4.3 ループの制御
4.3.1 break 命令
4.3.2 continue 命令
4.3.3 入れ子のループを中断/スキップする
この章の理解度チェック
- 第5章 標準ライブラリ
-
5.1 ラッパークラス
5.1.1 基本型⇔ラッパーオブジェクトの変換―ボクシング/アンボクシング
5.1.2 数値⇔文字列の変換
5.2 文字列の操作
5.2.1 文字列の長さを取得する
5.2.2 文字列を比較する
5.2.3 文字列が空であるかを判定する
5.2.4 文字列の前後から空白を除去する
5.2.5 文字列を検索する
5.2.6 文字列に特定の文字列が含まれるかを判定する
5.2.7 部分文字列を取得する
5.2.8 文字列を特定の区切り文字で分割する
5.2.9 文字列を整形する
5.2.10 文字列テンプレートによる文字列フォーマット[21 Preview]
5.3 正規表現
5.3.1 正規表現の基本
5.3.2 文字列が正規表現パターンにマッチしたかを判定する
5.3.3 正規表現で文字列を検索する
5.3.4 正規表現オプションでマッチング時の挙動を制御する
5.3.5 例 正規表現による検索
5.3.6 正規表現で文字列を置換する
5.3.7 正規表現で文字列を分割する
5.4 日付/時刻の操作
5.4.1 日付/時刻オブジェクトを生成する
5.4.2 日付/時刻を比較する―equals/isBefore/isAfter メソッド
5.4.3 年月日、時分秒などの時刻要素を取得する
5.4.4 日付/時刻値を整形する
5.4.5 日付/時刻値の差分を取得する
5.4.6 日付を加算/減算する
5.4.7 Java 7 以前の日付/時刻操作
5.4.8 Date-Time API ⇔ Calendar の相互変換
5.5 ストリーム
5.5.1 テキストをファイルに書き込む
5.5.2 テキストファイルを読み込む
5.5.3 バイナリファイルの読み書き
5.5.4 オブジェクトのシリアライズ
5.6 その他の機能
5.6.1 数学演算―Math クラス
5.6.2 long 型以上の整数を演算する―BigInteger クラス
5.6.3 乱数を生成する―Random クラス
5.6.4 数値を整形する―NumberFormat クラス
5.6.5 配列を操作する―Arrays クラス
5.6.6 文字列をUnicode 正規化する
5.6.7 ファイルシステムを操作する―Files クラス
5.6.8 HTTP経由でコンテンツを取得する―HttpClient クラス
この章の理解度チェック
- 第6章 コレクションフレームワーク
-
6.1 コレクションフレームワークの基本
6.1.1 コレクションの基本構文
6.1.2 コーディング上のイディオム
6.1.3 特殊なコレクションの生成
6.2 リスト
6.2.1 ArrayList(サイズ可変の配列)
6.2.2 LinkedList(二重リンクリスト)
6.3 セット
6.3.1 セットの基本操作
6.3.2 TreeSet(ソート済みセット)
6.4 マップ
6.4.1 HashMap(ハッシュ表)
6.4.2 TreeMap(ソート済みマップ)
6.5 スタック/キュー
6.5.1 ArrayDeque(両端キュー)
この章の理解度チェック
- 第7章 オブジェクト指向構文―基本
-
7.1 クラスの定義
7.1.1 クラス名
7.1.2 修飾子
7.1.3 メンバーの記述順
7.2 フィールド
7.2.1 修飾子
7.2.2 既定値
7.3 メソッド
7.3.1 メソッド名
7.3.2 実引数と仮引数
7.3.3 戻り値
7.3.4 修飾子
7.3.5 this キーワード
7.3.6 メソッドのオーバーロード
7.4 変数のスコープ
7.4.1 スコープの種類
7.4.2 フィールドとローカル変数
7.4.3 より厳密な変数の有効範囲
7.4.4 ブロックスコープ
7.5 コンストラクター
7.5.1 コンストラクターの基本
7.5.2 デフォルトコンストラクター
7.5.3 コンストラクターのオーバーロード
7.5.4 初期化ブロック
7.5.5 ファクトリーメソッド
7.6 クラスメソッド/クラスフィールド
7.6.1 クラスメソッド
7.6.2 クラスフィールド
7.6.3 クラス定数
7.6.4 static 初期化ブロック
7.6.5 初期化処理の実行順序
7.7 引数/戻り値の様々な記法
7.7.1 可変長引数のメソッド
7.7.2 引数とデータ型
7.7.3 null 安全の対策―Optional クラス
7.8 パッケージ
7.8.1 パッケージの基本
7.8.2 名前の解決
7.8.3 static インポート
この章の理解度チェック
- 第8章 オブジェクト指向構文―カプセル化/継承/ポリモーフィズム
-
8.1 カプセル化
8.1.1 アクセス修飾子
8.1.2 フィールドのアクセス権限
8.1.3 アクセサーメソッド
8.1.4 例 不変クラス
8.2 継承
8.2.1 継承の基本
8.2.2 フィールドの隠蔽
8.2.3 メソッドのオーバーライド
8.2.4 super による基底クラスの参照
8.2.5 派生クラスのコンストラクター
8.2.6 継承/オーバーライドの禁止
8.2.7 シールクラスによる継承先の制限[17]
8.2.8 参照型における型変換
8.2.9 型の判定
8.2.10 委譲
8.3 ポリモーフィズム
8.3.1 ポリモーフィズムの基本
8.3.2 抽象メソッド
8.3.3 インターフェイス
8.3.4 インターフェイスのメンバー
8.3.5 インターフェイスと抽象クラスの使い分け
この章の理解度チェック
- 第9章 オブジェクト指向構文―入れ子のクラス/ジェネリクス/例外処理など
-
9.1 Objectクラス
9.1.1 オブジェクトの文字列表現を取得する―toString メソッド
9.1.2 オブジェクト同士が等しいかどうかを判定する―equals メソッド
9.1.3 オブジェクトのハッシュ値を取得する―hashCode メソッド
9.1.4 補足 オブジェクトを比較する― compareTo メソッド
9.1.5 オブジェクトを複製する―clone メソッド
9.2 例外処理
9.2.1 例外処理の基本
9.2.2 finally ブロック
9.2.3 try-with-resource 構文
9.2.4 例外クラスの階層構造
9.2.5 例外をスローする
9.2.6 例外の再スロー
9.2.7 独自の例外クラス
9.3 列挙型
9.3.1 列挙型の基本
9.3.2 列挙型の正体
9.3.3 メンバーの定義
9.3.4 ビットフィールドによるフラグ管理
9.4 レコード
9.4.1 レコードの基本
9.4.2 レコード型のパターンマッチング
9.4.3 レコードパターンのより複雑な例
9.5 入れ子のクラス
9.5.1 static メンバークラス
9.5.2 非static メンバークラス
9.5.3 匿名クラス
9.5.4 ローカルクラス
9.6 ジェネリクス
9.6.1 ジェネリック型の定義
9.6.2 型パラメーターの制約条件
9.6.3 ジェネリックメソッド/ジェネリックコンストラクター
9.6.4 境界ワイルドカード型
この章の理解度チェック
- 第10章 ラムダ式/Stream API
-
10.1 メソッド参照/ラムダ式
10.1.1 メソッド参照/ラムダ式を利用しない例
10.1.2 メソッド参照の基本
10.1.3 ラムダ式の基本
10.1.4 ラムダ式における変数のスコープ
10.1.5 ラムダ式を伴うコレクション系のメソッド
10.2 Stream API
10.2.1 Stream API の基本
10.2.2 ストリームの生成
10.2.3 ストリームの中間処理
10.2.4 ストリームの終端処理
この章の理解度チェック
- 第11章 高度なプログラミング
-
11.1 マルチスレッド処理
11.1.1 スレッドの基本
11.1.2 排他制御
11.1.3 排他制御のその他の手段
11.1.4 スレッドプール
11.1.5 定期的なスレッド実行
11.1.6 仮想スレッドを生成する
11.1.7 スレッドの処理結果を受け取る―Callable インターフェイス
11.1.8 スレッド処理の後処理を定義する―CompletableFuture クラス
11.2 アノテーション
11.2.1 アノテーションの記述位置
11.2.2 アノテーションの基本構文
11.2.3 標準のアノテーション
11.2.4 アノテーションの自作
11.2.5 補足 リフレクションの主なメソッド
11.3 モジュール
11.3.1 モジュールの基本
11.3.2 標準ライブラリのモジュール
11.3.3 推移的な依存
11.3.4 パッケージを公開する
11.3.5 特殊なモジュール
11.3.6 例 非モジュールライブラリとの共存
この章の理解度チェック
- 付録A 「練習問題」「この章の理解度チェック」解答
|
|