改訂 新Java言語入門 シニア編
改訂 新Java言語入門 シニア編 (Java言語実用マスターシリーズ)
ソフトバンク
著者:林晴比古
はじめに
Chapter 1 Javaの基礎知識
1.1 概 要
コメント
予約語
識別子(名前)
大文字と小文字の区別
字下げとフリーフォーマット
オペレータとオペランド
単項と二項
式
定数式
文とコードブロック
クラス
インスタンス
オブジェクト
クラスメンバの公開と非公開
Javaのアクセス修飾子
Javaファイルの構成
JARファイル
コンパイルと実行
Chapter 2 変数と定数
2.1 変数の宣言
基本データ型
変数宣言の方法
2.2 変数の初期化
2.3 基本データ型の性格
論理型(boolean)
文字型(char)
整数型(byte、short、int、long)
浮動小数点型(float、double)
2.4 String型
2.5 参照型
2.6 enum型
2.7 BigIntegerとBigDecimal
2.8 定数
概要
整数リテラル
浮動小数点数リテラル
文字リテラル
エスケープ文字
文字列リテラル
nullリテラル
final定数
Chapter 3 配列
3.1 配列の宣言
3.2 配列の初期化
3.3 配列長を知る
3.4 値の代入と参照の代入
値の個別代入
参照の代入
cloneによる配列の複写
arraycopyによる配列の複写
3.5 多次元配列
多次元配列の基本用法
多次元配列の初期化
非矩形の配列
3.6 文字列配列と初期化
Chapter 4 型変換
4.1 概要
4.2 拡張変換と縮小変換
拡張変換
拡張変換と桁落ち
縮小変換
縮小変換と定数利用
キャスト不要の縮小変換
byte/short/char間の縮小変換
char型の変換
boolean型の変換
恒等変換
4.3 自動型変換
代入変換
単項変換
算術変換
メソッド起動変換
文字列変換
4.4 明示 的型変換 …
Chapter 5 演算子
5.1 演算子の種類
5.2 算術演算子(+ – * / %)
5.3 関係演算子(< <= >= > instanceof)
5.4 等価演算子(== !=)
5.5 論理演算子(! && ||)
5.6 インクリメント/デクリメント演算子(++ –)
5.7 文字列連結演算子と文字列変換(+)
5.8 ビット演算子(& | ^ ~ << >>)
ビット処理
シフト処理
5.9 代入演算子(= ope=)
単純代入演算子と複合代入演算子
多重代入式
代入演算子の結合順序
5.10 条件演算子(?:)
5.11 キャスト演算子
5.12 その他の演算子
メンバアクセス演算(.)
添字演算子([])
メソッド呼び出し演算(())
オブジェクト生成演算子(new)
5.13 ガベージコレクション
5.14 演算子の優先順位と結合規則
優先順位
結合規則
Chapter 6 制御文
6.1 制御文の概要
制御文の種類
真偽値の評価
条件式の簡易記述
コードブロック
6.2 if文
if文の機能
多重if文の読み方
6.3 for文
for文の機能
指定回数反復処理
while文的反復処理
for文による無限ループ
for文内で変数宣言する
複数式の記述
for-each文
6.4 while文
while文の機能
while文による無限ループ
6.5 do-while文
do-while文の機能
セミコロンをつける
6.6 switch文
switch文の機能
switch文の記述
6.7 break文
break文の機能
ラベルつきbreak文
6.8 continue文
continue文の機能
ラベルつきcontinue文
6.9 return文
Chapter 7 メソッド
7.1 概要
7.2 メソッドの基本
メソッドの書式
メソッドの種類
戻り値を無視する
仮引数と実引数
引数型の調整
ローカル変数
ローカル変数のスコープ
グローバル用途の変数
7.3 デ ータ渡しの方法
ふたつのデータ渡し方法
基本データ型の受け渡し
文字列の受け渡し
配列を渡す
配列を受けとる
mainメソッドヘの引数渡し
7.4 メソッドのオーバー□一ド
引数構成による識別
引数型の変換
7.5 可変個の引数
可変個の引数を指定する
固定引数との併用
Chapter 8 標準入出力
8.1 デフォルトの入出力機能
8.2 実用的な標準入力
8.3 数値の入力
8.4 書式指定をする標準入出力
Chapter 9 ScannerクラスとPrintWriterクラスとFormatterクラス
9.1 Scannerクラスでデータの入力をする
キーボードからの入力
文字列からの入力
ファイルからの入力
ファイル終了の確認
区切り文字を変更する
Scannerクラスのメソッド
9.2 PrintWriterクラスでデータの出力をする
コンソールヘの出力
PrintWriterによるコンソールヘの出力
ファイルヘの出力
9.3 printfでデータの出力をする
Formatterクラス
書式つき出力
変換仕様
printfの書式指定例
第1引数による文字列の出力
printfのロケール指定
Chapter 10 入出力ストリーム
10.1 ストリームの基礎知識
ストリームという概念
バイト入出力と文字入出力
バッファリング機能
Unicodeとローカルコードの変換
10.2 java.ioストリームクラス
10.3 ファイルの管理
File定数
状態参照メソッド
状態変更メソッド
10.4 ScannerクラスとPrintWriterクラスによるフアイル入出力
10.5 文字処理1 バッフアリングなし文字ストリーム
10.6 文字処理2 バッフアリングあり文字ストリーム
10.7 文字処理3 サービス機能つき文字ストリーム
10.8 ファイルの追加モードを使う
10.9 バイト処理1 バッフアリングなしバイトストリーム
バイト処理用クラス
オブジェクトの設定
データの書き込み
データの読み込み
10.10 バイト処理2 バッフアリングあリバイトストリーム
バッファリング指定
markとreset
10.11 バイト処理3 サービス機能つきバイトストリーム
オブジェクトの設定
データの書き込み
データの読み込み
10.12 コマンドライン引数を使う
10.13 文字処理とバイト処理の比較
10.14 ランダムフアイル処理
シーケンシャルファイル処理とランダムファイル処理
オブジェクトの設定
データの読み書き
読み書きポジションの指定
ランダムファイル処理の実際
10.15 ストリームメソッドー覧
Chapter 11 クラスの基本
11.1 クラスの概念
クラスとは
クラスメンバ
クラスの定義
インスタンス(オブジェクト)の生成
クラスメンバの指定方法
11.2 クラスの記述
フィールドの記述
メソッドの記述
privateフィールドとデータ保護
publicの省略時解釈
privateメソッド
カプセル化
11.3 クラスの利用
クラスの代入
名前の隠ぺい(シャドーイング)
11.4 thisキーワード
thisキーワードの機能
thisキーワードでスコープ解決する
thisキーワードを活用する
11.5 classファイルの複数生成
Chapter 12 クラスの機能
12.1 フィールド変数の初期値設定
12.2 コンストラクタ
コンストラクタの役割
引数のないコンストラクタ
引数のあるコンストラクタ
デフォルトコンストラクタ
コンストラクタによるデータ保護
12.3 クラス配列と初期化
12.4 コンストラクタの多重定義(オーバー□―ド)
12.5 明示的コンストラクタ呼び出し(this())
12.6 ファイナライザ
ファイナライザの役割
ファイナライザの書式
ファイナライザの自動起動
12.7 クラス変数とクラスメソッド
ロンバの分類
クラス変数の特徴
クラスメソッドの特徴
メンバの指定方法
this引数を渡さない
クラス変数とクラスメソッドの活用例
12.8 イニシャライザで初期化する
Chapter 13 クラスの継承
13.1 クラス継承の基礎
スーパークラスとサブクラス
クラス継承の記述
13.2 継承とアクセス修飾
publicメンバを使う
privateメンバを使う
protectedメンバを使う
3つのアクセス修飾子
13.3 継承とコンストラクタ
暗黙のスーパークラスコンストラクタ呼び出し
明示的なスーパークラスコンストラクタ呼び出し
13.4 継承とオーバー□一ド
13.5 継承とオーバーライド
メソッドのオーバーライド
superキーワードを使う
同一名フィールド変数のアクセス
オーバーライドの実用例
13.6 スーパ ークラス変数によるサブクラス操作
継承クラス間のアクセス
サブクラス拡張メンバヘのアクセス
オーバーロードメンバヘのアクセス
オーバーライドメンバヘのアクセス
キャストによるサブクラスメンバヘのアクセス
日 スーパークラス変数を仮引数に用いる
instanceOfによるクラス判定
13.7 final属性の指定
13.8 いろいろなクラス継承
ツリー関係継承
単純継承
複数継承
直接継承と間接継承
13.9 Objectクラスの継承
13.10 getClassメソッドとClassクラス
13.11 toStringメソッド
13.12 equelsメソッド
ふたつの等価判定
Stringクラスのequalsメソッド
一般クラスのequalsメソッド
13.13 cloneメソッド
配列のクローン処理
クラスのクローン処理
cloneメソッドのオーバーライド
シャローコピー対策
13.14 内部クラス
13.15 無名内部クラス
無名内部クラスとは
拡張が不要の場合の記述
無名内部クラスの利用
Chapter 14 インタフェース
14.1 抽象クラスと抽象メソッド(abstruct)
使用されないメソッド
抽象メソットと抽象クラスの記述
抽象メソッドの意義
抽象であるサブクラス
抽象メソッドのない抽象クラス
抽象クラス変数によるサブクラス操作
14.2 インタフェースの機能
抽象クラスの不便
インタフェースの記述
インタフェースの実装1
インタフェースの実装2
インタフェースと多重定義
インタフェース変数でサブクラスを参照する
インタフェースを拡張する
instanceofによるインタフェース判定
マーカーインタフェース
インタフェースの実例
Chapter 15 パッケージ
15.1 クラスファイルの生成方法
Javaプログラムの記述スタイル
ファイルがひとつのプログラム
複数ファイルのプログラム
15.2 パッケージの概念
クラスファイルの衝突
パッケージとディレクトリ
15.3 パッケージの指定
15.4 パッケージの活用
複数のソースファイルを同じパッケージに入れる
複数のソースファイルを別々のパッケージに入れる
完全修飾名
15.5 階層をもつパッケージ
15.6 パッケージのインポート
単一クラスのインポート
複数クラスのインポート
15.7 無名パッケージ
15.8 インタフェースのパッケージ管理
15.9 クラス名のインポート
15.10 クラスパスの設定
Chapter 16 スレッド
16.1 スレッドの基本
処理の流れ
マルチスレッド
Threadクラス
16.2 Threodクラスによるスレッドの作成
Threadクラスの継承
コンストラクタによる起動
16.3 Runnableインタフェースによるスレッドの作成
Runnableインタフェースの実装
コンストラクタによる設定と起動
16.4 スレッドの名前を操作する
スレッド名の取得
スレッド名の設定
現在のスレッドを得る
コンストラクタ内で名前設定する
16.5 多数のスレッドの実行
16.6 スレッドの一時待ち合わせ(sleep)
16.7 スレッドに割り込む(interrupt)
16.8 スレッドの終了を待つ(join)
16.9 スレッドの生存を確認する(isAlive)
16.10 スレッドの優先順位処理
スレッドの優先処理
優先順位の設定
16.11 スレッドの同期
共有データ読み書き問題
メソッドの同期(synchronized修飾子)
ロック処理
コードブロックの同期(synchronized文)
Lockインタフェースを使う方法
スレッドのデッドロック
16.12 スレッド間通信
実行待ち合わせと実行再開
synchronizedの併用
スレッド間通信の実際
16.13 スレッドの一時停止と再開と終了
スレッドの停止
スレッドの一時停止と再開
16.14 スレッドの状態を知る
Chapter 17 標準クラスの活用
17.1 Stringクラス
String系クラスの文字列処理
StringとStringBufferの相違点
CharSequence型
Stlingクラス機能一覧
Stringオブジェクトの初期化
String型の配列
String.formatによる書式化
String型対応の演算子
char配列とbyte配列とStringBufferとのデータ交換
char配列とStringBufferの内容表示
Unicodeとサロゲートペアとコードポイントと補助コードポイント
Stringクラスのメソッドの用法
17.2 StringBufferクラス
StringBufferクラスの機能一覧
StringBuffer型オブ ジェクトの初期化
StringBufferオブジェクトのサイズ
StringBufferクラスのメソッドの用法
17.3 StringBuilderクラス
17.4 CharBufferクラス
17.5 StringTokenizerクラス
17.6 ラッパークラスとオ トボクシング
ラッパークラスとは
ラッパークラス一覧
ラッパークラスヘの値設定と値取得
オートボクシング
17.7 Integer系ラッパークラス
整数系ラッパークラスの仕様一覧
Integerラッパークラスの仕様
Integerラッパークラスの初期化と値取得
Integerラッパークラスの用法
17.8 Double系ラッパ―クラス
浮動小数点数系ラッパークラスの仕様一覧
Doubleラツパークラスの仕様
Doubleラツパークラスの初期化と値取得
Doubleランバークラスの用法
17.9 Character型ラッパークラス
Characterラッパークラスの仕様
Characterラッパークラスの初期化と値取得
Characterラッパークラスの用法
17.10 Systemクラス
Systemクラスの仕様
システムプロパティ
Systemクラスの用法
17.11 Mathクラス
Mathクラスの仕様
三角関数の角度表現
乱数の生成
Mathクラスの用法
17.12 DateとCalendarクラス
Javaの時間処理機能
日時情報の取得と設定
Date、Calendarクラスの仕様
日時情報の流れ
17.13 汎用データクラスを使う
Pointクラス
Dimensionクラス
Rectangleクラス
Polygonクラス
17.14 デ ータの整形をする
17.15 RuntimeクラスとProcessBuilderクラス
モードレスで子プロセスを実行する
モーダルで子プロセスを実行する
Chapter 18 Generics機能
18.1 Genericsによる型指定
18.2 Generics対応クラスの自作
18.3 Generics対応クラス設計時の限定適用
数値系クラスだけの適用
文字列系クラスだけの適用
マーカーインタフェースの適用
18.4 Generics対応クラス型変数利用時の限定適用(extends)
18.5 Generics対応クラス型変数利用時の限定適用(super)
Chapter 19 コレクションフレームワーク
19.1 コレクションフレームワークの構成
19.2 ArrayListとVectorクラス
ArrayListクラス(従来用法)
ArrayListクラス(新しい用法)
ArrayListのメソッド
Vectorクラス
19.3 Stackクラス
19.4 Arraysクラス
19.5 HashMapとHashtableクラス
HashMapクラス
Hashtableクラス
19.6 LinkedListクラス
19.7 PriorityQueueクラス
19.8 コレクション用インタフェース
19.9 反復子を使う
LinkedListを反復処理する
HashMapを反復処理する
Enumerationインタフェースを使う
Chapter 20 例外処理
20.1 例外処理の概要
実行時検出する
Error系例外とException系例外
チェック例外と非チェック例外
例外クラスの階層構造
20.2 システム対応の例外制御
20.3 try/catch/finallyによる例外の制御
例外処理構文
try
catch
finally
20.4 例外処理の実際
ひとつのcatch節
複数のcatch節
すべての例外のキャッチ
catch節の検索1
catch節の検索2
必ず実行する文の記述(finally)
finally節とexitメソッド
catch節の省略
Error系例外の処理
20.5 チェック例外の処理方法
例外の把握可能性
tryの強制
メソッド内で例外処理する(try/catch)
メソッド外で例外処理する(throws)
スロー宣言の役割
mainメソッドの外で例外処理する
複数例外に対応するスロー宣言
20.6 独自の例外処理
独自の例外クラスの作成
例外のスロー(throw)
自作例外クラスのコンストラクタとメソッド
独自の例外処理をする
例外クラスに機能追加する
既存の例外クラスをスローする
その場で例外処理をする
20.7 例外の再スロー
Chapter 21 アプレットの基本
21.1 アプレットの概要
アプレットの構成
Appletクラスの継承関係
21.2 アプレットの作成
ソースプログラムの記述
Webブラウザで表示
アプレットビューアで表示
<APPLET>タグをソースコードに埋め込む
21.3 ComponentクラスとContainerクラス
21.4 Appletクラス
21.5 Graphicsクラス
21.6 アプレットの標準メソッド
21.7 テキストを表示する
文字列の表示
グラフィックスコンテキストを介する
Fontを指定する
FontMetricsを使用する
フォントのサイズを得る
21.8 図形を描画する
21.9 アプレットサイズの処理
21.10 色指定をする(Colorクラス)
前景色と背景色
個別の色指定
ColorクラスとSystemColorクラス
色のRGB指定
21.11 画像を表示する
画像フアイルの指定
画像のダウンロードと表示
HTMLファイルから名前を受けとる
21.12 画面チラツキの防止
21.13 ダブルバッフアリングをする
ダブルバッファリングとは
ダブルバッファリングの方法
21.14 フォーカス処理をする
21.15 Javaコンソールを使う
Chapter 22 ィベント処理
22.1 イベント処理の概要
イベントとは
委任イベントモデル
マウスのイベントを処理する
イベントリスナの登録
イベントリスナの削除
イベント対応メソッドの実装
いろいろなイベント機能
22.2 イベント処理外部クラスを使う
22.3 アダプタクラスを使う
アダプタを外部クラスで使用する
アダプタを無名内部クラスで使用する
22.4 マウス処理
ドラッグ処理を行なう
フリーハンド描画を行なう
グラフィックスオブジェクトを取得する
ダブルクリックの検出
右クリックの検出
22.5 キー入力処理
KeyListenerとKeyEvent
フォーカスを与える
2種類のキー入力
仮想キーコード定数
修飾キーの操作
22.6 アプレットでスレッドを使用する
Chapter 23 アプレットの応用
23.1 AWT
AWTコンポーネント
AWTコンボーネントのレイアウト
23.2 ラベル
説明
プログラム
23.3 ボタン
説明
プログラム
23.4 チェックボックス
説明
プログラム1
プログラム2
23.5 チェックボックスグループ
説明
プログラム
23.6 テキストフィールド
説明
プログラム
23.7 テキストエリア
説明
プログラム
23.8 キャンバス
説明
プログラム1
プログラム2
プログラム3
23.9 リスト
説明
プログラム
23.10 チョイス
説明
プログラム
23.11 スクロ―ルバ―
説明
プログラム
23.12 フローレイアウト
レイアウトマネージャ
説明
プログラム1
プログラム2
23.13 ボ ーダーレイアウト
説明
プログラム
23.14 グリッドレイアウト
説明
プログラム
23.15 インセット
説明
プログラム
23.16 パネル
説明
プログラム
23.17 グリッドバッグレイアウト
説明
プログラム1
プログラム2
23.18 カードレイアウト
説明
プログラム
23.19 絶対位置指定のレイアウト
説明
プログラム
Chapter 24 ウィンドウ型(フレーム)アプリケーション
24.1 ウィンドウ型アプリケーションの基礎知識
FrameクラスとDialogクラス
基本構成
窓の表示
窓を開じる
部品の配置
コンポーネントとイベント処理
画像の表示
javawコマンドを使う
文字列図形描画プログラム
コンポーネント利用プログラム
マウスを使うプログラム
画像表示プログラム
24.2 アプレットとフレームアプリケーションの共存
アプレットとフレームアプリケーションを共存させる
アプレットから起動するウィンドウ
24.3 フレーム
説明
プログラム1
プログラム2
24.4 メニュー
メニュー構成
メニューの組み込み
メニュー選択時のイベント処理
セパレータの表示
サブメニューの用意
プログラム1
メニューを無効にする
チェックつきメニュー
ショートカットキーを与える
プログラム2
24.5 ポップアップメニュー
ポップアップメニューの設定
ポップアップメニューの表示
プログラム
24.6 ダイアログボックス
モーダルダイアログ
モードレスダイアログ
24.7 ファイルダイアログボックス
説明
プログラム
Chapter 25 Swing
25.1 Swingの機能
AWTとSwing
ネイティブシステム依存性
Swingの実行環境
25.2 Swingのクラス
25.3 Swingプログラム
プログラム1
プログラム2
プログラム3
プログラム4
INDEX