Sun Certified Programmer for the Java Platform, Standard Edition 6.0 (CX-310-065)

CX-310-065: Sun 認定プログラマ - Java Platform, Standard Edition 6 (Sun Certified Programmer for the Java Platform, Standard Edition 6)
 
 
 
製品の説明

Java の包括的な知識から、プログラムの作成まで
他言語での経験はあるが、オブジェクト指向プログラミング言語の経験がなく、アプリケーションを Java に移植ないし、Java を守備範囲に加えたいと思っているプログラマの方向けにプログラミングコンセプト、開発知識とともに Java の文法の知識、基本的なライブラリを使用したプログラミングの作成能力についてなど、Java の包括的な知識についてテストします。

※こちらの試験はSun Certified Developer, Web Component Developer, Business Component Developer受験の際の前提条件となっております。

»   詳細の表示
 
 
製品 ID 価格(税込)
JP-CX-310-065 ¥31,500
 
 

Web サイトでご購入いただいた試験は、日本以外の国ではご使用いただけない場合があります。日本以外にお住まいの場合は、国を選択して、お客様の居住国で提供されている製品についてお問い合わせください。試験バウチャーをご購入いただいた場合、その使用期限は購入日から 1 年間です。各バウチャーは 1 つの試験に対して有効であり、バウチャーを購入した国の Sun 認定 Prometric テストセンターでしかご利用いただけない場合があります。試験バウチャーの払い戻しは一切お受けできませんので、あらかじめご了承ください。

 
 
詳細情報

  • 提供場所: プロメトリック認定試験場
  • 前提条件: なし
  • 試験方式: 多肢選択式/ドラッグ&ドロップ
  • 設問数: 60
  • 合格スコア: 58%(60問中35問以上)正解
  • 時間制限: 180 分

 上に戻る

 
 
主な出題範囲

宣言、初期化、スコープ


  • クラス(抽象クラス、およびあらゆる形式のネストクラスを含む)、インタフェース、列挙型を宣言し、パッケージおよびインポート文(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、Consoleを使用して(組み合わせを含む)正しいソリューションを作成する。
  • java.ioのAPIのうち、DataInputStream、DataOutputStream、FileInputStream、FileOutputStream、ObjectInputStream、ObjectOutputStream、Serializableを使用して、オブジェクトをシリアライズまたはデシリアライズするコードを記述する。さらに、transient変数およびprivateを使用するreadObjectメソッドとwriteObjectメソッドを正しく宣言および使用するSerializableの実装クラスを作成する。シナリオやコード例が与えられたとき、デシリアライズ中、オブジェクトの継承チェーンでコンストラクタが呼び出されるか、呼び出される場合はいつ、どのコンストラクタが呼び出されるかを認識する。
  • java.textパッケージの標準Java SE APIを使用して、特定のロケール用の日付、数値、通貨の値の正しい書式設定または解析を行う。与えられたシナリオで、デフォルトロケールまたは特定のロケールを使用したい場合に使用する正しいメソッドを特定する。java.util.Localeクラスの目的と用途を説明する。
  • java.utilパッケージおよびjava.util.regexパッケージの標準Java SE 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、List、Mapインタフェースとその実装クラスのジェネリックス版を使用するコードを記述する。非ジェネリックスコレクションAPIの制限事項、およびジェネリックスコレクションAPIを使用するためにコードをリファクタリングする方法を認識する。NavigableSetおよびNavigableMapインタフェースを使用するコードを記述する。
  • クラス/インタフェース宣言、インスタンス変数、メソッド引数、戻り値の型で型パラメータを正しく使用するコードを記述し、ジェネリックスメソッド、またはワイルドカードの型を使用するメソッドを記述して、これらの2つのアプローチ間の類似点と相違点を理解する。
  • java.utilパッケージの機能を使用して、リストのソート、バイナリ検索実行、リストから配列への変換など、リスト操作を行うコードを記述する。java.utilパッケージの機能を使用して、配列のソート、バイナリ検索実行、配列からリストへの変換など、配列操作を行うコードを記述する。リストと配列のソートにはjava.util.Comparatorとjava.lang.Comparableインタフェースを使用する。さらに、プリミティブラッパークラスとjava.lang.Stringの「自然順」のソートの効果を認識する。


Java言語の基礎


  • 与えられたコード例とシナリオで、適切なアクセス修飾子、パッケージ宣言、インポート文を使用して、(アクセスまたは継承を介して)コード例と相互作用するコードを記述する。
  • 与えられたクラスとコマンドラインの例で、予期される実行時の振る舞いを特定する。
  • オブジェクト参照やプリミティブ型の値が、代入やその他のパラメータに対する変更処理を実行するメソッドに渡されたときに受ける影響を判定する。
  • 与えられたコード例で、オブジェクトがガーベッジコレクションの対象になる時点を認識し、ガーベッジコレクションシステムによって保証される内容と保証されない内容を判別し、Object.finalize()メソッドの振る舞いを認識する。
  • JARファイルの内外にあるクラスの完全修飾名が与えられたとき、そのクラスの適切なディレクトリ構造を構成する。コード例とクラスパスが与えられたとき、そのクラスパスを使用してコードを正常にコンパイルできるかどうかを判断する。
  • 代入演算子(=、+=、-=に限定)、算術演算子(+、-、*、/、%、++、--に限定)、関係演算子(<、<=、>、>=、==、!=に限定)、instanceof演算子、論理演算子(&、|、^、!、&&、||に限定)、条件演算子(? :)など適切な演算子を正しく適用し、必要な結果を得るためのコードを記述する。2つのオブジェクトまたは2つのプリミティブ型が等しいかどうかを判定するコードを記述する。


 上に戻る

 
 
 
 
サン認定資格 再受験無料ダブルキャンペーン
~目指せ! クラウド世代の選り抜きエンジニア~