新わかりやすいJava 入門編 第3版

書籍情報

発売日 : 2022/12/13

著者/編集 : 川場隆

出版社 : 秀和システム

発行形態 : 単行本

書籍説明

内容紹介

じっくり丁寧に学ぶからプログラムの「なぜ」がわかる。学生の“わからない”に徹底的にこたえる授業で使えるJava入門の決定版。人気No.1完全独習テキスト。

目次

■■PartⅠ 基本的な文法

■Chapter1 Eclipseの操作
●1.1 プログラムの作成手順
最初にプロジェクトとパッケージを作成しておく
簡単なプログラムを作成して起動する
JShellの利用

■Chapter2 基本的な文法
●2.1 プログラムの構造
クラスの役割
コメント
プログラムの整形
出力文について― println()とprint()
●2.2 データ型
リテラルとは
リテラルを表示する
データ型と変数
データ型の詳細
●2.3 変数宣言と変数の使い方
いろいろな変数宣言
変数の使い方
識別子の作り方
●2.4 自動型変換
すべての整数型は、浮動小数点型の変数に代入できる
整数型は、より大きなサイズの整数型に代入できる
char型の値は、int型の変数に代入できる
整数と浮動小数点数が混在する式
●2.5 特殊なリテラル
2進数、8進数、16進数
文字のユニコード(Unicode)表現
エスケープ文字
テキストブロック
練習2-5-1
●2.6 演算子と演算
基本的な演算子の概要
インクリメント・デクリメント演算子
四則演算と剰余の演算子
文字列連結演算子
代入演算子と複合代入演算子
キャスト演算子
練習2-6-1
●2.7 クラスメソッド
クラスメソッドを使ってみよう
Mathクラスのクラスメソッド
練習2-7-1
●2.8 外部のクラスの利用(Inputクラス)
外部クラスの利用方法
Inputクラスの使い方
Inputクラスのクラスメソッド
練習2-8-1
●2.9 文字列のインスタンスメソッド
文字列リテラルで使う
String型の変数で使う
Stringクラスのインスタンスメソッド
練習2-9-1
●2.10 書式付出力
書式文字列とは
System.out.printf()メソッド
formatted()メソッド
練習2-10-1

■Chapter3 データ構造
●3.1 配列
配列の作成と配列要素へのアクセス
拡張for文による配列要素のアクセス
練習3-1-1
●3.2 レコード
recordとは
recordのプログラム
練習3-2-1
●3.3 リスト
簡単なリストの作成
拡張for文によるリストの操作
リストの要素を集計する
練習3-3-1
レコードのリスト
レコードの集計
練習3-3-2
●3.4 可変リスト
可変リストの作成
プリミティブ型のデータを入れるリスト
リストにデータを追加する
練習3-4-1
リストにレコードを追加する
練習3-4-2
リストで使えるメソッド
練習3-4-3

■Chapter4 メソッドの作成
●4.1 メソッドの基本
メソッドの役割
引数のあるメソッド
複数の引数
値を返すメソッド
練習4-1-1
オーバーロード
練習4-1-2
ライブラリクラスの作成
Javadocの作成
練習4-1-3
●4.2 メソッドの引数と戻り値
配列を引数にする
可変長引数
練習4-2-1
リストを引数にする
練習4-2-2
リストを戻り値にする
練習4-2-3

■Chapter5 実行の制御
●5.1 条件を作成する演算子
関係演算子
論理演算子
条件演算子
練習5-1-1
●5.2 if文
if文
if-else文
if-else if文
練習5-2-1
●5.3 switch文とswitch式
switch文
switch文の使用例
switch式
練習5-3-1
●5.4 for文
繰り返しの回数を指定するfor文
繰り返し回数を指定するfor文の仕組み
練習5-4-1
●5.5 while文
while文とは
キーボード入力の方法
練習5-5-1
●5.6 breakとcontinue
繰り返しを中止するbreak
後続の処理をskipするcontinue
練習5-6-1
●5.7 その他の構文
do-while
レガシーなswitch文

■■PartⅡ オブジェクト指向

■Chapter6 オブジェクトの作成
●6.1 オブジェクト・モデリング
オブジェクトの種類
クラスを使ってオブジェクトを定義する
●6.2 インスタンスの作成とインスタンスメソッドの実行
コンストラクタを作成する
インスタンスメソッドを実行してみる
練習6-2-1
●6.3 共通メソッドを追加する
共通メソッドとは
ゲッターとセッターを追加する
toString()を追加する
equals()とhashCode()を追加する
練習6-3-1

■Chapter7 オブジェクトの仕組み
●7.1 カプセル化
●7.2 コンストラクタ
コンストラクタのオーバーロード
練習7-2-1
thisによるコンストラクタの簡単化
デフォルトコンストラクタ
練習7-2-2
●7.3 クラスメンバ
クラスメンバとは
スタティックメンバとインスタンスメンバ
スタティックメンバとインスタンスメンバの違い
メンバの混在
練習7-3-1
●7.4 参照と不変性
参照とは
参照の型
nullとは
●7.5 イミュータブルなオブジェクト
代入では参照がコピーされる
メソッドへの受け渡しでも参照がコピーされる
イミュータブルなオブジェクト(基本編)
イミュータブルなオブジェクト(実践編)
練習7-5-1
●7.6 内部クラス
内部クラスとは
内部クラスを使ってみる

■Chapter8 継承
●8.1 クラスの継承
クラス図
継承とは
スーパークラスとサブクラス
練習8-1-1
継承を確認する
継承のクラス図
練習8-1-2
●8.2 Objectクラスと継承の連鎖
Objectクラス
継承の連鎖とクラス図
is-aとhas-aの関係
練習8-2-1
8.3 アップキャストによる操作
オーバーライド
アップキャスト ― 参照型の自動型変換
アップキャストの働き
オーバーライドメソッドの起動規則
サブクラスをスーパークラス型で処理する
オーバーライドを予定してスーパークラスを設計する
練習8-3-1

■Chapter9 抽象クラスと多態性
●9.1 抽象クラスによる継承
抽象クラスとは
抽象クラスによる継承
練習9-1-1
サブクラスをスーパークラス(抽象クラス)型で処理する
varによる型推論について
●9.2 多態性(ポリモーフィズム)
Java言語の多態性とは
instanceof演算子
switchによるパターンマッチ
練習9-2-1
●9.3 継承に関するその他の文法
シールクラス(封印されたクラス)
継承されないもの

■Chapter10 インタフェース
●10.1 インタフェースとは
インタフェースの定義
インタフェースの実装
インタフェース型として使う
練習10-1-1
●10.2 インタフェースの応用
アルゴリズムを差し替える
アルゴリズムを差し替えるプログラム
練習10-2-1

■■PartⅢ 応用的な文法

■Chapter11 ラムダ式
●11.1 ラムダ式とは
所得税の計算 ― ラムダ式の機能を知る
ラムダ式への書き換え
ラムダ式の意味
ラムダ式と関数型インタフェース
練習11-1-1
ラムダ式を使うもうひとつの例示
練習11-1-2
●11.2 ラムダ式の文法
引数
戻り値
ブロック
変数
練習11-2-1
●11.3 標準の関数型インタフェース
主なインタフェース
使用例
●11.4 メソッド参照とコンストラクタ参照
クラスメソッド
インスタンスメソッド
外部で定義された変数のインスタンスメソッド
System.out::println
コンストラクタ参照
練習11-4-1

■Chapter12 コレクションフレームワーク
●12.1 コレクションフレームワーク
インタフェースと実装クラスの概要
インスタンスの生成
主なメソッドの概要
●12.2 List
forEach()メソッド
sort()メソッド
練習12-2-1
●12.3 Set
HashSetを使う
順序を保存するLinkedHashSet
自然な順序で並び替えるTreeSet
練習12-3-1
●12.4 Map
HashMap
LinkedHashMap
TreeMap
練習12-4-1

■Chapter13 ストリーム処理
●13.1 ストリームとは
簡単なストリーム処理
結果をリストで受け取る
●13.2 いろいろな中間操作
中間操作メソッド
中間操作メソッドの使い方
練習13-2-1
●13.3 主な終端操作
結果をコンテナに入れる
最大と最小を求める
プリミティブ型で集計する
文字列連結する
分類する
練習13-3-1

■Chapter14 例外
●14.1 例外と例外クラス
例外のメカニズム
例外の種類
●14.2 例外処理
ファイルの読み出し
try-catch文の書き方
try-catch文の機能
例外クラスのメソッド
●14.3 リソース付きtry文
クローズの問題
リソース付きtry文
●14.4 例外を投げる・キャッチする
カスタム例外クラスの作成
例外の投げ方
例外のマルチキャッチ
サブクラス型の例外をキャッチする

■Chapter15 列挙型
●15.1 列挙型とは
●15.2 列挙型の機能
列挙型を作成する
列挙定数の特徴
列挙型のフィールドとメソッド
●15.3 列挙定数の使い方
同値の判定
switchでの利用
classと同じファイルに列挙を定義する
練習15-3-1

■Chapter16 正規表現
●16.1 正規表現とは
メタ文字
正規表現の文法
学習の準備
●16.2 基本的な正規表現
文字列と任意の1文字
[ ]内の文字のどれかにマッチするパターン
繰り返しのパターン
行頭、行末を指定するパターン
特定の文字を表すメタ文字
回数を指定して繰り返すパターン
ORとグループ化
大文字と小文字の区別
含む、含まない
●16.3 複雑な正規表現の見方
パスワード
ユーザー名
時間表示
●16.4 正規表現にマッチしているかどうか調べる
練習16-4-1

■Chapter17 日付と時刻
●17.1 Date and Time API
日付と時刻の作成
練習17-1-1
●17.2 日付と時刻の表示
練習17-2-1
●17.3 日時の計算
日時の比較とうるう年のチェック
日時の加算と減算
期間の計算
練習17-3-1

■Chapter18 ファイル入出力
●18.1 ファイル入出力について
バイナリとテキスト
主な入出力クラス
ファイルのパス
●18.2 テキストを行単位で入力する
ファイルの作成
行単位の入力
文字コードを指定して入力する
●18.3 行データを項目に分ける
split()で項目に分割する
scannerクラスを使う
練習18-3-1
●18.4 テキストを出力する
PrintWriterによる出力
追記モードで出力する
●18.5 ファイルとディレクトリの操作
Filesクラスの操作メソッド
ディレクトリとファイルのリスト

■Chapter19 マルチスレッド
●19.1 マルチスレッドとは
マルチスレッドと非同期処理
簡単なスレッドの作成
いろいろなマルチスレッド処理
●19.2 スレッドプール
スレッドプールとは
スレッドプールの使い方
●19.3 CompletableFuture
CompletableFutureとは
CompletableFutureによる非同期処理の実行
エラーへの対処
●19.4 高度なマルチスレッド処理
synchronized による同期化
生産者-消費者問題

■■PartⅣ 実践編

■Chapter20 初めてのQuarkusプロジェクト
●20.1 Quarkusプロジェクトの作成と実行
プロジェクトの作成
Eclipseへプロジェクトをインポートする
マイクロサービスとウェブアプリケーションの違い
マイクロサービスのビルドと実行
動作の仕組み
●20.2 プログラムの書き方
ウェブサービスの基本
テストプログラムについて
●20.3 パスとパラメータ
サブURL
パスパラメータ
クエリーパラメータ
クエリーパラメータのデフォルト値
●20.4 pom.xmlとは
基本情報
拡張機能の記述

■Chapter21 Bookサービスの作成
●21.1 プロジェクトの作成
コマンドによるプロジェクトの作成
プロジェクトの確認
●21.2 Bookエンティティの作成
●21.3 Bookリソースクラスの作成
BookResourceクラスの作成
●21.4 Bookサービスを実行する
初期データの準備
ブラウザからのアクセス
●21.5 新規、更新、削除の機能を追加する
Bookデータの新規追加
Bookデータの更新
Bookデータの削除
例外対策
全体のソースコードを確認
●21.6 検索式による検索機能を追加する
ソースコードの更新
検索機能をテストする

■Chapter22 クラウドへのデプロイ
●22.1 拡張機能の追加
●22.2 設定ファイルの編集
完成したapplication.properties
●22.3 minikubeの起動と環境設定
minikubeを起動する
環境変数をコピーする
kubernetes secretを作成する
●22.4 kubernetes(minikube)へのデプロイ
postgreSQLをデプロイする
Bookサービスをデプロイする
Bookサービスにローカルからアクセスする
●22.5 クライアントAPI
client-serviceプロジェクトの作成
RESTクライアントAPIの使い方
サービスURLの登録
クラウドで実行する

■Chapter23 Quteによるウェブの作成
●23.1 Quteとは
Quteの仕組み
Quteテンプレートファイルの作成
リソースクラスの作成
book-clientサービスの再実行
●23.2 Quteの応用と実践
よりスマートなウェブへ ― Bootstrapの利用
開発モードの利用方法
UTF-8問題
POSTデータの送信
POSTデータの受信
更新と削除
●23.3 終わりに

■補足資料
演算子一覧表
PanacheEntityBaseのメソッド
Panacheの検索で使える演算子
Javaの予約語一覧表
Unicode表(アスキー文字のみ)
URL

著者情報

川場, 隆, 1953-
川場隆
《川場隆》 専門は教育工学。大学、専門学校等で教える傍ら、学習支援システムなど先端的なソフトウェアの研究・開発を続けている。2010年頃から「わかりやすいJava」などのプログラミング入門書をシリーズ化して出版。また、最近は、プログラミング動画教材や教育機関向けのウェブサービスの開発なども手掛けている。福岡市に在住。妻と猫の3人暮らし。 著書 「新わかりやすいJava はじめてのプログラミング」 「新わかりやすいJava 入門編」 「新わかりやすいJava オブジェクト指向徹底解説」 「わかりやすいJakartaEE ウェブシステム入門」 「わかりやすいJavaEE ウェブシステム入門」など