Java言語を生んだサン・マイクロシステムズ社が認定する「Sun認定 Javaプログラマ(SJC-P)」資格は、Javaプログラマにとって必須の認定資格です。とはいえ「どこから勉強すればいいか分からない!」という人も多いはず。そんな人の第一歩のために、本書はこんな特徴を持っています。「Javaプログラマ」取得はまずここからはじめましょう!
Chapter 1 コンパイルと実行
1-1 プログラム実行までの流れ
Javaのプログラム環境
コンパイルと実行
1-2 プログラムを作成しよう
ソースファイルを作成する
Javaアプリケーションの基本構造
javacコマンドでコンパイルする
コンパイルエラー
1-3 プログラムを実行しよう
javaコマンドで実行する
実行時エラー
Chapter 2 データと演算子
2-1 リテラルとは何かを知ろう
リテラルとは
2-2 変数とは何かを知ろう
変数とは
データ型
変数の宣言と値の代入
文字列は参照型
識別子と予約語
2-3 配列とは何かを知ろう
配列とは
配列の作成
添え字(インデックス)
配列の初期化
Javaアプリケーションへの引数
2-4 演算子とは何かを知ろう
演算子とは
算術演算子と単項演算子
代入演算子と複合代入演算子
関係演算子
論理演算子
2-5 値コピーと参照コピーの違いを知ろう
値コピーと参照コピーの違い
null比較
章末問題
Chapter 3 フロー制御
3-1 制御文とは何かを知ろう
制御文とは
3-2 条件文とは何かを知ろう
条件文とは
if文
if-else文
else if文
switch文
3-3 繰り返し文とは何かを知ろう
繰り返し文とは
while文
do-while文
for文
拡張for文
3-4 ネスティングとは何かを知ろう
ネスティングとは
3-5 繰り返し制御文とは何かを知ろう
繰り返し制御文とは
break文
continue文
章末問題
Chapter 4 クラスとメソッド
4-1 クラスを作成して利用しよう
オブジェクト指向とは
クラスを定義しよう
変数を定義しよう
変数を宣言する場所を知ろう
メソッドを定義しよう
インスタンス化してオブジェクトを作成しよう
オブジェクトに対するメソッドの呼び出し方
4-2 コンストラクタとは何かを知ろう
コンストラクタを定義しよう
定義したコンストラクタを呼び出そう
デフォルトコンストラクタとは
4-3 static修飾子とは何かを知ろう
static変数とstaticメソッドを定義しよう
static変数とstaticメソッドの呼び出し方
2つのメソッドを使い分けよう
final変数とは
4-4 アクセス制御とは何かを知ろう
アクセス修飾子とは
4-5 列挙型とは何かを知ろう
列挙型を定義しよう
定義した列挙型を利用しよう
列挙型にコンストラクタ、変数、メソッドを定義しよう
4-6 ガベージコレクタとは何かを知ろう
ガベージコレクタとは
オブジェクトをガベージコレクタの対象にしよう
ガベージコレクタの実行を促してみよう
章末問題
Chapter 5 ポリモフィズム
5-1 継承とは何かを知ろう
継承関係のあるクラスを作成しよう
Java言語は単一継承のみをサポートする
Objectクラスとは
5-2 オーバーロードとオーバーライドとは何かを知ろう
オーバーロードとは
オーバーライドとは
finalメソッドとfinalクラスとは
可変長引数とは
5-3 thisとsuperとな何かを知ろう
thisとは
superとは
superを使用してメソッドを呼び出そう
superを使用してコンストラクタを呼び出そう
5-4 抽象クラスとは何かを知ろう
抽象クラスとは
抽象メソッドとは
抽象クラスを利用しよう
5-5 インタフェースとは何かを知ろう
インタフェースとは
インタフェースにおける変数とメソッドとは
インタフェースを利用しよう
インタフェースの継承とは
5-6 型変換とは何かを知ろう
基本データ型の暗黙変換とは
基本データ型のキャストを使用した型変換とは
参照型の暗黙変換とは
参照型のキャストを使用した型変換とは
instanceof演算子とは
5-7 is-a関係、has-a関係とは何かを知ろう
is-a関係とは
has-a関係とは
ポリモフィズムとは
章末問題
Chapter 6 パッケージとアクセス制御
6-1 パッケージとは何かを知ろう
パッケージとは
パッケージの必要性
パッケージの宣言
パッケージ化したクラスのコンパイルと実行
パッケージ化したクラス、インタフェースの利用
クラスパス
-classpathオプション
CLASSPATH環境変数
6-2 JARファイルとは何かを知ろう
JARファイルとは
JARファイルの利用
6-3 パッケージに関するアクセス制御について知ろう
クラスのメンバに対するアクセス修飾子
クラスに対するアクセス修飾子
6-4 JavaBeansとは何かを知ろう
JavaBeansとは
章末問題
Chapter 7 例外
7-1 例外処理とは何かを知ろう
例外とは
例外処理の必要性
try、catch、finallyブロックによる対処
throwsキーワードによる対処
7-2 さまざまな例外クラスについて知ろう
checked例外とunchecked例外
例外処理をしなければならない場合
出題範囲の主な例外クラス
複数のcatchブロック定義
独自例外クラスの作成
オーバーライドの注意点(例外の型、アクセス修飾子、戻り値)
7-3 アサーションとは何かを知ろう
アサーションとは
AssertionErrorとは
アサーションを使用したファイルのコンパイルと実行
アサーションを利用する場面
章末問題
Chapter 8 スレッド
8-1 スレッドとは何かを知ろう
スレッドとは
マルチスレッドとは
スレッドの作成と開始
スレッドの状態
スレッドの優先度
8-2 スレッドを制御しよう
スレッドの制御
スレッドを制御するメソッド
8-3 排他制御、同期制御とは何かを知ろう
排他制御、同期制御とは
synchronizedによる排他制御とは
staticメソッドでsynchronizedを使用する
wait()、notify()、notifyAll()による同期制御とは
デッドロックとは
章末問題
Chapter 9 ネストクラス・インナークラス
9-1 ネストクラスとインナークラスとは何かを知ろう
ネストクラス、インナークラスとは
ネストクラスのルール
ネストクラスをコンパイルする
ネストクラスをインスタンス化する
ネストクラスの応用的な利用
9-2 ローカルクラスとは何かを知ろう
ローカルクラスとは
ローカルクラスのルール
9-3 匿名クラスとは何かを知ろう
匿名クラスとは
匿名クラスのルール
匿名クラスの応用的な利用
章末問題
Chapter 10 Java API
10-1 java.langパッケージとは何かを知ろう
java.langパッケージとは
10-2 Objectクラスとは何かを知ろう
Objectクラスとは
Objectクラスで提供されているメソッド
equals()メソッド
hashCode()メソッド
equals()メソッドとhashCode()メソッドのオーバーライド
10-3 Stringクラスとは何かを知ろう
Stringクラスとは
Stringクラスのequals()メソッド
Stringクラスのその他のメソッド
10-4 StringBufferクラスとStringBuilderクラス
StringBufferクラスとStringBuilderクラスとは
StringBufferクラスのequals()メソッド
10-5 ラッパークラスとは何かを知ろう
ラッパークラスとは
ラッパークラスのequals()メソッド
ラッパークラスのメソッド
AutoboxingとUnboxing
10-6 staticインポートとは何かを知ろう
staticインポートとは
10-7 ロケールとは何かを知ろう
ロケールとは
数値および通貨のフォーマット
10-8 日付および時刻のフォーマットについて知ろう
DateクラスとDateFormatクラス
日付および時刻のフォーマット
10-9 正規表現を使用した文字の処理について知ろう
正規表現とは
主なメタ文字
java.util.regexパッケージ
章末問題
Chapter 11 入出力
11-1 Fileクラスとは何かを知ろう
Fileクラスとは
11-2 ストリームとは何かを知ろう
ストリームとは
FileInputStreamクラスとFileOutputStreamクラス
DataInputStreamクラスとDataOutputStreamクラス
FileReaderクラスとFileWriterクラス
BufferedReaderクラスとBufferedWriterクラス
11-3 シリアライズとは何かを知ろう
シリアライズとは
Serializableインタフェース
transientキーワード
ObjectInputStreamクラスとObjectOutputStreamクラス
11-4 Scannerクラスとは何かを知ろう
Scannerクラスとは
コマンドラインからの読み込み
11-5 出力ストリームのフォーマットについて知ろう
System.out.println()の詳細
出力ストリームのフォーマット
format()メソッドとprintf()メソッド
章末問題
Chapter 12 コレクションとジェネリックス
12-1 コレクションとは何かを知ろう
コレクションとは
リスト
セット
マップ
コレクション関連インタフェースと実装クラス
12-2 リスト、セット、マップの実装クラスについて知ろう
リスト、セット、マップの実装クラスとは
Listインタフェースの実装クラス
Setインタフェースの実装クラス
Mapインタフェースの実装クラス
12-3 各クラスの利用方法について知ろう
ArrayListクラス
LinkdedListクラス
HashSetクラス
TreeSetクラス
HashMapクラス
コレクションへのオブジェクトの格納と分離
12-4 ジェネリックスとは何かを知ろう
ジェネリックスとは
ジェネリックスを用いた独自クラスの定義
ジェネリックスを用いたメソッド定義
ジェネリックスを用いたインタフェース定義
継承関係のあるクラスでの利用
ワイルドカード
12-5 オブジェクトの順序付けについて知ろう
Comparableインタフェース
compareTo()メソッド
独自クラスに対するComparableインタフェースの実装
Collectionsクラス
Arraysクラス
章末問題
付録 JDKのインストール
1 JDKをインストールしよう
JDKのインストールする
PATH環境変数を設定する