Java
Solaris
コミュニティ
パートナー
My Sun
ご購入について
Japan
Worldwide
製品情報
ダウンロード
サービス&ソリューション
サポート
トレーニング
会社情報
ホーム
>
トレーニング
>
認定資格
>
Java
Sun認定資格
Java認定資格
≫
トレーニングTOP
≫
コース一覧
≫
サン認定資格
- Java /
Solaris
-
資格保有者の声
-
CertManager
認定証送付先の変更等
受験者登録情報管理
≫
一社向けトレーニング
≫
トレーニング・オプション
関連情報
≫
規約/FAX申込票
≫
全国会場一覧
≫
よくある質問と回答
≫
申込方法/お問合せ
【SJC-P】Sun認定 Javaプログラマ試験 主な出題範囲
Sun Certified Programmer for the Java 2 Platform 5.0
概要
|
お申込方法
|
認定証
|
FAQ
Sun Certified Programmer for the Java 2 Platform 5.0 (試験番号 310-055) を受験する場合は、準備の際に次の各トピックを参考にしてください。
宣言、初期化、スコープ
クラス(抽象クラス、およびあらゆる形式のネストクラスを含む)、インタフェース、列挙型を宣言し、パッケージおよびインポート文(staticインポートを含む)を正しく使用しているコードを書く。
インタフェースを宣言するコードを書く。1つまたは複数のインタフェースを実装または拡張するコードを書く。抽象クラスを拡張するコードを書く。
プリミティブ型、配列型、列挙型、オブジェクトをstatic、インスタンス変数、ローカル変数として宣言、初期化、使用するコードを書く。変数名に正しい識別子を使用する。
{staticメソッドとstaticでないメソッドの両方を宣言するコードを書く。この場合、JavaBeansの命名規則に準拠したメソッド名を使用する。可変長引数リストを宣言、使用するコードを作成する。
与えられたコード例で、あるメソッドが別のメソッドを正しくオーバーライドまたはオーバーロードしているかを確認し、そのメソッドに対する正しい戻り値(共変戻り値を含む)を識別する。
与えられたクラスおよびスーパークラスに対し、1つまたは複数のクラスに対するコンストラクタを作成する。与えられたクラスに対し、デフォルトコンストラクタが作成されるかどうかを判断し、作成される場合はそのコンストラクタのふるまいを特定する。与えられたネストまたはネストされていないクラスに対し、そのクラスをインスタンス化するコードを書く。
フロー制御
if文またはswitch文を実装するコードを書いて、それらの文に対して正しい式を識別する。
for、拡張forループ(for-each)、do、while、ラベル、break、continueなど、あらゆる型のループや反復子を実装するコードを書き、ループ実行中と実行後のループカウンタ変数の値を説明する。
アサーションを使用するコードを書いて、アサーションの適切な使用方法と不適切な使用方法を識別する。
例外と例外処理句(try、catch、finally)を使用し、例外をスローするメソッドおよびそのメソッドをオーバーライドするメソッドを宣言するコードを書く。
コード内の特定の行で例外が発生する影響を認識している。例外には、実行時例外、チェックされる例外、エラーが含まれる。
次のいずれかがスローされる結果になる状況を認識できる。
ArrayIndexOutOfBoundsException、ClassCastException、IllegalArgumentException、IllegalStateException、NullPointerException、NumberFormatException、AssertionError、ExceptionInInitializerError、StackOverflowError、NoClassDefFoundError
これらのうちのどれが仮想マシンでスローされるかを知っており、その他については、プログラムでスローすべき状況を認識できる。
APIコンテンツ
プリミティブラッパークラス(Boolean型、Character型、Double型、Integer型など)、autoboxing/unboxingを使用するコードを書く。String、StringBuilder、StringBufferクラス間の違いを説明する。
ファイルシステムのナビゲーション、ファイルの読み込み、ファイルの書き込みを含むシナリオが与えられたとき、java.ioパッケージのクラスのうち、BufferedReader、BufferedWriter、File、FileReader、FileWriter、PrintWriterを使用して(組み合わせを含む)正しいソリューションを作成する。
java.ioパッケージのAPIのうち、DataInputStream、DataOutputStream、FileInputStream、FileOutputStream、ObjectInputStream、ObjectOutputStream、Serializableを使用してオブジェクトをシリアライズまたはデシリアライズするコードを書く。さらに、transient変数およびprivate指定されたreadObjectメソッドとwriteObjectメソッドを宣言して使用するSerializableクラスを作成する。シナリオやコード例が与えられたとき、デシリアライズ中、オブジェクトの継承チェーンでコンストラクタが呼び出されるか、呼び出されるとするといつどのコンストラクタが呼び出されるかを知っている。
java.textパッケージの標準J2SE APIを使用して、特定のロケール用の日付、数値、通貨の値の正しい書式化または解析を行う。与えられたシナリオで、デフォルトロケールまたは特定のロケールを使用する場合に適切なメソッドを特定する。java.util.Localeクラスの目的と用途を説明する。
java.utilパッケージおよびjava.util.regexパッケージの標準J2SE APIを使用して文字列またはストリームを書式化または解析するコードを書く。文字列に対しては、PatternクラスとMatcherクラスおよびString.splitメソッドを使用したコードを書く。マッチングの正規表現パターン(.(ドット)、*(アスタリスク)、+(プラス)、?、\d、\s、\w、[]、()に限定)を認識、使用できる。*、+、?は最長マッチの修飾子に限られ、括弧演算子はグルーピングメカニズムにのみ使用し、マッチング中の内容の捕捉には使用しない。ストリームに対して、FormatterクラスとScannerクラスおよびPrintWriter.format/printfメソッドを使用したコードを書く。書式文字列で書式化パターン(%b、%c、%d、%f、%sに限定)を認識、使用できる。
並行性
java.lang.Threadとjava.lang.Runnableの両方を使用して新しいスレッドを定義、インスタンス化、開始するコードを書く。
存在し得るスレッドの状態を認識し、スレッドの状態がどのように変化できるかを識別する。
与えられたシナリオで、static変数やインスタンス変数が同時にアクセスされないように保護するオブジェクトロックを正しく使用するコードを書く。
シナリオが与えられたとき、waitメソッド、notifyメソッド、notifyAllメソッドを正しく使用するコードを書く。
オブジェクト指向コンセプト
密なカプセル化、弱い結合度、高い凝集度を実装するコードを書いて、利点を説明する。
与えられたシナリオで、ポリモフィズムを使用するコードを書く。さらに、キャストが必要な場合を識別し、オブジェクト参照のキャストに関するコンパイラエラーとランタイムエラーを識別する。
コンストラクタ、インスタンス変数またはstatic変数、インスタンスメソッドまたはstaticメソッドに関する継承の修飾子の効果を説明する。
与えられたシナリオで、オーバーライドまたはオーバーロードされたメソッドを宣言/呼び出すコード、およびオーバーライドまたはオーバーロードされたスーパークラスのコンストラクタを宣言/呼び出すコードを書く。
"is-a"または"has-a"関係を実装するコードを書く。
コレクション/ジェネリックス
与えられた設計シナリオで、その設計を正しく実装するにはどのコレクションクラス/インタフェースを使用するかを判断する。(Comparableインタフェースの使用を含む)
対応するhashCodeメソッドとequalsメソッドの正しいオーバーライドと正しくないオーバーライドを識別し、==とequalsメソッドの違いを説明する。
Collections APIのうち、特に、Set<E>、List<E>、Queue<E>、Map<K,V>("<",">"は半角)インタフェースとその実装クラスのジェネリックスを使用するコードを書く。ジェネリックスを使用しないCollections APIの制限事項、およびジェネリックスを使用するためにコードをリファクタリングする方法を知っている。
クラス/インタフェース宣言、インスタンス変数、メソッド引数、戻り値の型に型パラメータを正しく使用するコードを書き、ジェネリックスを使用したメソッドまたはワイルドカードの型を使用するメソッドを書いて、これらの2つのアプローチ間の類似点と相違点を説明する。
java.utilパッケージの機能を使用して、リストのソート、バイナリ検索、リストから配列への変換など、リストの操作を行うコードを書く。リストと配列のソートにはjava.util.Comparatorとjava.lang.Comparableインタフェースを使用する。さらに、ソートに対するプリミティブラッパークラスとjava.lang.Stringの「自然順(natural ordering)」の効果を識別する。
Java言語の基礎
与えられたコード例とシナリオで、正しいアクセス修飾子、パッケージ宣言、インポート文を使用して例のコードと相互作用する(アクセスを行う、または継承関係を持つ)コードを書く。
与えられたクラスとコマンドラインの例で、期待される実行時のふるまいを特定する。
オブジェクト参照やプリミティブ型の値が、代入やその他のパラメータの変更処理を行うメソッドに渡されたときに受ける影響を特定する。
与えられたコード例で、オブジェクトがガーベッジコレクションの対象になる時点を認識し、ガーベッジコレクションシステムによって何が保証されており、何が保証されていないかを識別する。System.gcとfinalizationのふるまいを識別する。
JARファイルの内外にあるクラスの完全修飾名が与えられたとき、そのクラスの正しいディレクトリ構造を構成する。コード例とクラスパスが与えられたとき、そのクラスパスがコードのコンパイルに支障を来たすかどうかを判断する。
代入演算子(=、+=、-=に限定)、算術演算子(+、-、*、/、%、++、--に限定)、関係演算子(<、<=、>、>=、==、!=に限定)、instanceof演算子、論理演算子(&、|、^、!、&&、||に限定)、条件演算子(? :)などの演算子を使用して希望する結果を得るためのコードを書く。2つのオブジェクトまたは2つのプリミティブが等しいかどうかを判定するコードを書く。
Sun Certified Programmer for the Java 2 Platform 5.0 Upgrade Exam
概要
|
お申込方法
|
認定証
|
FAQ
Sun Certified Programmer for the Java 2 Platform 5.0 Upgrade Exam (試験番号 310-065) を受験する場合は、準備の際に次の各トピックを参考にしてください。
宣言、初期化、スコープ
クラス(抽象クラス、およびあらゆる形式のネストクラスを含む)、インタフェース、列挙型を宣言し、パッケージおよびインポート文(staticインポートを含む)を正しく使用しているコードを書く。
プリミティブ型、配列型、列挙型、オブジェクトをstatic、インスタンス変数、ローカル変数として宣言、初期化、使用するコードを書く。変数名に正しい識別子を使用する。
staticメソッドとstaticでないメソッドの両方を宣言するコードを書く。この場合、JavaBeansの命名規則に準拠したメソッド名を使用する。可変長引数リストを宣言、使用するコードを作成する。
与えられたコード例で、あるメソッドが別のメソッドを正しくオーバーライドまたはオーバーロードしているかを確認し、そのメソッドに対する正しい戻り値(共変戻り値を含む)を識別する。
与えられたクラスおよびスーパークラスに対し、1つまたは複数のクラスに対するコンストラクタを作成する。与えられたクラスに対し、デフォルトコンストラクタが作成されるかどうかを判断し、作成される場合はそのコンストラクタのふるまいを特定する。与えられたネストまたはネストされていないクラスに対し、そのクラスをインスタンス化するコードを書く。
フロー制御
if文またはswitch文を実装するコードを書いて、それらの文に対して正しい式を識別する。
for、拡張forループ(for-each)、do、while、ラベル、break、continueなど、あらゆる型のループや反復子を実装するコードを書き、ループ実行中と実行後のループカウンタ変数の値を説明する。
例外と例外処理句(try、catch、finally)を使用し、例外をスローするメソッドおよびそのメソッドをオーバーライドするメソッドを宣言するコードを書く。
次のいずれかがスローされる結果になる状況を認識できる。
ArrayIndexOutOfBoundsException、ClassCastException、IllegalArgumentException、IllegalStateException、NullPointerException、NumberFormatException、AssertionError、ExceptionInInitializerError、StackOverflowError、NoClassDefFoundError
これらのうちのどれが仮想マシンでスローされるかを知っており、その他については、プログラムでスローすべき状況を認識できる。
APIコンテンツ
プリミティブラッパークラス(Boolean型、Character型、Double型、Integer型など)、autoboxing/unboxingを使用するコードを書く。String、StringBuilder、StringBufferクラス間の違いを説明する。
ファイルシステムのナビゲーション、ファイルの読み込み、ファイルの書き込みを含むシナリオが与えられたとき、java.ioパッケージのクラスのうち、BufferedReader、BufferedWriter、File、FileReader、FileWriter、PrintWriterを使用して(組み合わせを含む)正しいソリューションを作成する。
java.ioパッケージのAPIのうち、DataInputStream、DataOutputStream、FileInputStream、FileOutputStream、ObjectInputStream、ObjectOutputStream、Serializableを使用してオブジェクトをシリアライズまたはデシリアライズするコードを書く。さらに、transient変数およびprivate指定されたreadObjectメソッドとwriteObjectメソッドを宣言して使用するSerializableクラスを作成する。シナリオやコード例が与えられたとき、デシリアライズ中、オブジェクトの継承チェーンでコンストラクタが呼び出されるか、呼び出されるとするといつどのコンストラクタが呼び出されるかを知っている。
java.textパッケージの標準J2SE APIを使用して、特定のロケール用の日付、数値、通貨の値の正しい書式化または解析を行う。与えられたシナリオで、デフォルトロケールまたは特定のロケールを使用する場合に適切なメソッドを特定する。java.util.Localeクラスの目的と用途を説明する。
java.utilパッケージおよびjava.util.regexパッケージの標準J2SE APIを使用して文字列またはストリームを書式化または解析するコードを書く。文字列に対しては、PatternクラスとMatcherクラスおよびString.splitメソッドを使用したコードを書く。マッチングの正規表現パターン(.(ドット)、*(アスタリスク)、+(プラス)、?、\d、\s、\w、[]、()に限定)を認識、使用できる。*、+、?は最長マッチの修飾子に限られ、括弧演算子はグルーピングメカニズムにのみ使用し、マッチング中の内容の捕捉には使用しない。ストリームに対して、FormatterクラスとScannerクラスおよびPrintWriter.format/printfメソッドを使用したコードを書く。書式文字列で書式化パターン(%b、%c、%d、%f、%sに限定)を認識、使用できる。
並行性
java.lang.Threadとjava.lang.Runnableの両方を使用して新しいスレッドを定義、インスタンス化、開始するコードを書く。
存在し得るスレッドの状態を認識し、スレッドの状態がどのように変化できるかを識別する。
オブジェクト指向コンセプト
密なカプセル化、弱い結合度、高い凝集度を実装するコードを書いて、利点を説明する。
与えられたシナリオで、ポリモフィズムを使用するコードを書く。さらに、キャストが必要な場合を識別し、オブジェクト参照のキャストに関するコンパイラエラーとランタイムエラーを識別する。
コンストラクタ、インスタンス変数またはstatic変数、インスタンスメソッドまたはstaticメソッドに関する継承の修飾子の効果を説明する。
与えられたシナリオで、オーバーライドまたはオーバーロードされたメソッドを宣言/呼び出すコード、およびオーバーライドまたはオーバーロードされたスーパークラスのコンストラクタを宣言/呼び出すコードを書く。
コレクション/ジェネリックス
与えられた設計シナリオで、その設計を正しく実装するにはどのコレクションクラス/インタフェースを使用するかを判断する。(Comparableインタフェースの使用を含む)
Collections APIのうち、特に、Set<E>、List<E>、Queue<E>、Map<K,V>("<",">"は半角)インタフェースとその実装クラスのジェネリックスを使用するコードを書く。ジェネリックスを使用しないCollections APIの制限事項、およびジェネリックスを使用するためにコードをリファクタリングする方法を知っている。
クラス/インタフェース宣言、インスタンス変数、メソッド引数、戻り値の型に型パラメータを正しく使用するコードを書き、ジェネリックスを使用したメソッドまたはワイルドカードの型を使用するメソッドを書いて、これらの2つのアプローチ間の類似点と相違点を説明する。
java.utilパッケージの機能を使用して、リストのソート、バイナリ検索、リストから配列への変換など、リストの操作を行うコードを書く。リストと配列のソートにはjava.util.Comparatorとjava.lang.Comparableインタフェースを使用する。さらに、ソートに対するプリミティブラッパークラスとjava.lang.Stringの「自然順(natural ordering)」の効果を識別する。
Java言語の基礎
与えられたコード例とシナリオで、正しいアクセス修飾子、パッケージ宣言、インポート文を使用して例のコードと相互作用する(アクセスを行う、または継承関係を持つ)コードを書く。
JARファイルの内外にあるクラスの完全修飾名が与えられたとき、そのクラスの正しいディレクトリ構造を構成する。コード例とクラスパスが与えられたとき、そのクラスパスがコードのコンパイルに支障を来たすかどうかを判断する。
Sun Certified Programmer for the Java 2 Platform 1.4
概要
|
お申込方法
|
認定証
|
FAQ
Sun Certified Programmer for the Java 2 Platform 1.4 (試験番号 310-035) を受験する場合は、準備の際に次の各トピックを参考にしてください。
Section 1 クラス定義とアクセス制御
基本データ型の配列の宣言、作成および、初期化の記述方法。
また、宣言と初期化の両方を同時に行う配列の定義。
クラス、インナークラス、メソッド、インスタンス変数、 static 変数、および、メソッド内に定義した一時変数の宣言。
また、これらに対する public 、 final 、 static 、 abstract などの修飾子の定義と、パッケージ化した場合など修飾子を組み合わせして使用した結果の意味を説明する。
デフォルトコンストラクタを使用するときのクラス定義方法。
自クラスまたは、スーパークラスで、関連するメソッド宣言の定義方法に与える適切な戻り値を説明する。
Section 2 制御文、アサーションと例外処理
if 文 、 switch 文の宣言方法および、これらの制御文の適切な引数の型の記述方法。
ラベル付きまたは、ラベルなしのループ文の宣言方法。
また、ループ文に break および、 continue を使用して変数の状態を変化させたときの実行結果。
try 、 catch 、 finally によるイベントハンドリングの定義。
また、例外をスローするメソッドの宣言とオーバーライドメソッドの宣言。
コードの1部で生じた例外処理の動きを説明する。
例外は、ランタイム例外、明示的な例外、もしくはエラーコード。
(try, catch, finallyブロックで対処できるエラーコードを指す。)
アサーションの的確な使用方法、または誤った使用方法を識別する。
アサーションの機能の正しい説明。
Section 3 ガーベッジコレクション
ガーベッジコレクションによって保証されるふるまいを説明する。
また、ガーベッジコレクションの対象となるオブジェクトについて説明する。
オブジェクトがガベッジコレクションの対象となる、ソースコード中の位置を見分ける。
Section 4 Java 言語の基礎
ソースファイルにおける以下の適切な定義方法を説明する。
- package 文
- import 文
- インナークラスを含むクラス宣言文
- インタフェース宣言文
- java.lang.Runnable や他のインタフェースの実装
- main() メソッドを含むクラス内の実行するメソッド文
- 変数
- 識別子
コマンドラインの引数と main() メソッドに渡される配列型の引数に合致するインデックスについて説明する。
Java のキーワードと識別子について説明する。
明示的な割り当てをせずに作成した配列要素の値の結果を説明する。
基本データ型の値の範囲と、 String 型や基本データ型のリテラル値の宣言を説明する。
Section 5 演算子とデータのメモリ割り当て
instanceof 演算子を含む各種演算子を実行したときの結果を判定する。
java.lang.String、java.lang.Boolean、java.lang.Object などのequals() メソッドを実行したときの結果を判定する。
'&'、'|'、'&&'、'||' を使用した条件式の評価。
Section 6 オーバーロード、オーバーライド、実行時のデータ型
オブジェクト指向設計におけるカプセル化の利点を説明する。
また、'is a'、'has a' 関係とカプセル化の実現方法を説明する。
スーパークラスまたは、オーバーロードされたコンストラクタをオーバーライドまたはオーバーロードメソッドを呼び出す方法を説明する。
また呼び出した結果を説明する。
クラス、インナークラスを含む各種クラスのインスタンス作成の記述方法。
Section 7 スレッド
java.lang.Thread および、java.lang.Runnable を使用したスレッドの定義、インスタンス化および、スレッドの実行開始を説明する。
スレッドの実行に関する条件を説明する。
スレッド間の同期の問題を解決するための synchronized、wait() メソッド、notify() メソッドおよび、notifyAll() メソッドを使用する方法を説明をする。
また、その相互作用について説明する。
Section 8 java.langパッケージのJava言語の基礎
java.lang.Math クラスの static メソッドの使用方法を説明する。
String オブジェクトの不変性について説明する。
指定された振る舞い要求に合うラッパークラス内で適切な選択をし、
そのラッパークラスのオブジェクトを含んだコードの実行結果を説明する。
IntegerやDouble等のラッパークラスの下記のメソッドを使用したコードに関して説明する。
- doubleValue
- floatValue
- intValue
- longValue
- parseXxx
- getXxx
- toString
- toHexString
Section 9 コレクション・フレームワーク
コレクション API のふるまいについて説明する。
hashcode()メソッドの使用法の正誤を判断する。
Sun Certified Programmer for the Java 2 Platform Upgrade Exam
こちらはSJC-Pバージョン1.2保有者がSJC-Pバージョン1.4の資格にアップグレードするための試験です。
概要
|
お申込方法
|
認定証
|
FAQ
Sun Certified Programmer for the Java 2 Platform Upgrade Exam(試験番号 310-036) を受験する場合は、準備の際に次の各トピックを参考にしてください。
Section 1 クラス定義とアクセス制御
クラス、インナークラス、メソッド、インスタンス変数、 static 変数、および、メソッド内に定義した一時変数の宣言。
また、これらに対する public 、 final 、 static 、 abstract などの修飾子の定義と、パッケージ化した場合など修飾子を組み合わせして使用した結果の意味を説明する。
自クラスまたは、スーパークラスで、関連するメソッド宣言の定義方法に与える適切な戻り値を説明する。
Section 2 制御文、アサーションと例外処理
if 文 、 switch 文の宣言方法および、これらの制御文の適切な引数の型の記述方法。
コードの1部で生じた例外処理の動きを説明する。
例外は、ランタイム例外、明示的な例外、もしくはエラーコード。
(try, catch, finallyブロックで対処できるエラーコードを指す。)
アサーションの的確な使用方法、または誤った使用方法を識別する。
アサーションの機能の正しい説明。
Section 3 ガーベッジコレクション
オブジェクトがガベッジコレクションの対象となる、ソースコード中の位置を見分ける。
Section 4 Java 言語の基礎
ソースファイルにおける以下の適切な定義方法を説明する。
- java.lang.Runnable や他のインタフェースの実装
- 変数
明示的な割り当てをせずに作成した配列要素の値の結果を説明する。
Section 5 演算子とデータのメモリ割り当て
instanceof 演算子を含む各種演算子を実行したときの結果を判定する。
'&'、'|'、'&&'、'||' を使用した条件式の評価。
Section 6 オーバーロード、オーバーライド、実行時のデータ型
スーパークラスまたは、オーバーロードされたコンストラクタをオーバーライドまたはオーバーロードメソッドを呼び出す方法を説明する。
また呼び出した結果を説明する。
クラス、インナークラスを含む各種クラスのインスタンス作成の記述方法。
Section 7 スレッド
スレッドの実行に関する条件を説明する。
スレッド間の同期の問題を解決するための synchronized、wait() メソッド、notify() メソッドおよび、notifyAll() メソッドを使用する方法を説明をする。
また、その相互作用について説明する。
Section 8 コレクション・フレームワーク
コレクション API のふるまいについて説明する。
hashcode()メソッドの使用法の正誤を判断する。
Javaメインページに戻る
お問い合わせ
会社情報
ニュース
採用情報
プライバシー
利用規定
商標
Copyright 1994-2007 Sun Microsystems, Inc.