• 検索結果がありません。

Make the Future Java FY13 PPT Template

N/A
N/A
Protected

Academic year: 2021

シェア "Make the Future Java FY13 PPT Template"

Copied!
45
0
0

読み込み中.... (全文を見る)

全文

(1)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1

(2)

OJCP Silver SE 7 資格試験の

傾向と対策

日本オラクル株式会社

オラクルユニバーシティ

(3)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 3

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するもので

す。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み

込むことはできません。以下の事項は、マテリアルやコード、機能を提供す

ることをコミットメント(確約)するものではないため、購買決定を行う際

の判断材料になさらないで下さい。

オラクル製品に関して記載されている機能の開発、リリースおよび時期につ

いては、弊社の裁量により決定されます。

Oracleは、米国オラクル・コーポレーション及びその子会社、関連会社の米国及びその他の国における登録

商標または商標です。他社名又は製品名は、それぞれ各社の商標である場合があります。

(4)

Agenda

1.

Java SE 7 対応オラクル認定Java資格の

ご案内

2.

OCJP Silver SE 7 資格試験の傾向と対策

3.

補足情報

(5)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 5

1. Java SE 7対応オラクル認定

Java資格のご案内

(6)

Java SE 7対応オラクル認定Java資格が新しくなりました

Bronze, Silver, Goldの3段階の積み上げ式でスキルを認定します

Oracle Certified

Java Programmer,

Gold

SE 7

Oracle Certified

Java Programmer,

Silver

SE 7

Oracle Certified

Java Programmer,

Bronze

SE 7

旧資格体系

新資格体系

設計者の意図を正しく理解して独力で機能実装が行えるレベル

(中上級Javaプログラマ向け)

Gold資格は、コレクションAPI, ファイルI/O,

並行処理

JDBC

などのライ

ブラリを使用したプログラミングを理解しているかどうかが主な出題項目

です。加えて

デザインパターン

についても問われるため

設計から実装まで

の包括的なスキルを身につけているか

が問われます。

(Global資格: Oracle

Certified Professional, Java SE 7 Programmer)

独力で単体テストコードなどを書けるくらいのレベル

(初級Javaプログラマ向け)

Silver資格は、Java言語の基本文法とオブジェクト指向プログラミング(ク

ラス、インタフェース、例外処理)を理解しているかどうかが主な出題項

目です。

プログラミングのために必要とされる仕様を詳細に理解している

が問われます。

(Global資格: Oracle Certified Associate, Java SE 7 Programmer)

Javaによるオブジェクト指向プログラミングを覚えたレベル

(言語を初めて学ぶプログラマ向け)

Bronze資格は、Java言語の基本文法(変数宣言や制御文)とオブジェクト指

向プログラミングの基本を理解しているかどうかが主な出題項目です。

(7)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 7

Oracle Certified

Java Programmer,

Silver

SE 7

Oracle Certified

Java Programmer,

Bronze

SE 7

1Z0-805: Upgrade to

Java SE 7 Programmer

1Z0-804:

Java SE 7 Programmer II

1Z0-803:

Java SE 7 Programmer I

1Z0-802:

Java SE 7 Bronze Exam

OCJ-P/SJC-P資格取得者

(バージョンは問わない)

これから資格取得を

目指す方

Oracle Certified

Java Programmer,

Gold

SE 7

Java SE 7 資格認定パス

BronzeとSilverの試験範囲はほとん

ど同じです。プログラミング経験が

ある方はSilverからスタートしま

しょう。

一試験で

移行可能です

資格名

試験名

オンライン試験有り

(8)

OCJP Silver SE 7 試験

試験名: Java SE 7 Programmer I (1Z0-803)

認定資格: Oracle Certified Java Programmer,

Silver

SE 7

出題数: 90問 (選択式)

試験時間: 150分

合格ライン: 77%

試験料(税抜): 32,600 円

(9)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 9

テスト内容チェックリスト

1. Javaの基本

変数のスコープを定義する

Javaクラスの構造を定義する

main()メソッドがある実行可能なJavaアプリケーションを作成する

他のJavaパッケージをインポートしてコードでアクセスできるようにする

2. Javaのデータ型の操作

変数を宣言および初期化する

オブジェクト参照変数とプリミティブ変数を区別する

オブジェクトのフィールドに対して読取りと書込みを行う

オブジェクトのライフサイクルについて説明する

オブジェクトのメソッドを呼び出す

StringBuilderクラスおよびそのメソッドを使用してデータを操作する

文字列を作成および操作する

3. 演算子と決定構造の使用

Javaの演算子を使用する

カッコを使用して演算子の優先順位を変更する

==とequals()を使用して文字列と他のオブジェクトが等しいかどうかをテストする

ifおよびif/else構造を作成する

switch文を使用する

4. 配列の作成と使用

1次元配列を宣言、初期化、インスタンス化および使用する

多次元配列を宣言、初期化、インスタンス化および使用する

ArrayListを宣言および使用する

(10)

テスト内容チェックリスト

5. ループ構造の使用

whileループを作成および使用する

拡張forループを含むforループを作成および使用する

do/whileループを作成および使用する

ループの構造を比較する

breakとcontinueを使用する

6. メソッドとカプセル化を操作する

引数と戻り値があるメソッドを作成する

staticキーワードをメソッドとフィールドに適用する

オーバーロードメソッドを作成する

デフォルトコンストラクタとユーザー定義のコンストラクタを区別する

コンストラクタを作成および多重定義する

アクセス修飾子を適用する

7. 継承の操作

継承を実装する

ポリモフィズムの使用例を示すコードを開発する

参照の型とオブジェクトの型を区別する

キャストが必要なタイミングを判断する

superとthisを使用してオブジェクトとコンストラクタにアクセスする

抽象クラスとインタフェースを使用する

8. 例外の処理

チェックされる例外、RuntimeExceptionおよびエラーを区別する

try/catchブロックを作成し、通常のプログラム・フローが例外によってどのように変

更されるかを判断する

Javaで使用される例外について説明する

(11)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 11

2. OCJP Silver SE 7 資格試験の

傾向と対策

(12)

OCJP Silver SE 7 試験の出題傾向

ソースコードをもとに、その結果を問う問題が多く出題されます

ソースコードはそれほど長くありませんが、出題数が多いので短時間で

コードの内容を把握できるかどうかがポイントです

1問あたり1分30秒

ペースで回答する必要があります

コンパイルエラーになるか?実行結果はどうなる?

要件に合致する実装を選ぶ問題も出題されます

Javaプログラミングの基礎をしっかり理解しておく必要があります

トピックごとの出題の偏りはほとんどありません

Silver試験のトピックはGold試験でも一部出題されます

(13)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 13

(14)

1. Javaの基本

1.

変数のスコープを定義する

2.

Javaクラスの構造を定義する

3.

main()メソッドがある実行可能なJavaアプリケーションを作成する

(15)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 15

このトピックでの出題ポイント

プログラムを評価する出題が多いです

コンパイルエラーの原因や実行結果を判断

変数のスコープは要確認

Javaアプリケーションの実行方法をチェックしましょう

java コマンドの使い方 (引数や実行可能なクラスなど)

mainメソッドの記述方法: public static void main(String[] args) { }

クラスの記述方法はシンタックスをきちんと確認しておきましょう

暗黙で補われる要素 (import/デフォルトコンストラクタ …)

(16)

2. Javaのデータ型の操作

1.

変数を宣言および初期化する

2.

オブジェクト参照変数とプリミティブ変数を区別する

3.

オブジェクトのフィールドに対して読取りと書込みを行う

4.

オブジェクトのライフサイクルについて説明する

5.

オブジェクトのメソッドを呼び出す

6.

StringBuilderクラスおよびそのメソッドを使用してデータを操作する

7.

文字列を作成および操作する

(17)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 17

このトピックでの出題ポイント

プログラムを評価する出題が多いです

プログラムの実行結果や目的に合致する処理を選択

オブジェクトのフィールドへのアクセス方法

参照名.変数名など

変数(基本データ型, 参照型)の初期化

StringクラスとStringBuilderクラスのメソッドを確認しておきましょう

文字列を操作するメソッド (subString, replace …)

2. Javaのデータ型の操作

(18)

3.演算子と決定構造の使用

1.

Javaの演算子を使用する

2.

カッコを使用して演算子の優先順位を変更する

3.

==とequals()を使用して文字列と他のオブジェクトが等しいかどう

かをテストする

4.

ifおよびif/else構造を作成する

5.

switch文を使用する

(19)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 19

このトピックでの出題ポイント

プログラムを評価する出題が多いです

プログラムの実行結果を選択

似たようなパターンの出題が多い

演算子の優先順位を確認

3. 演算子と決定構造の使用

(20)

4. 配列の作成と使用

1.

1次元配列を宣言、初期化、インスタンス化および使用する

2.

多次元配列を宣言、初期化、インスタンス化および使用する

3.

ArrayListを宣言および使用する

(21)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 21

このトピックでの出題ポイント

プログラムを評価する出題が多いです

プログラムの実行結果を選択

配列とArrayListは次のポイントを確認しておきましょう

一次元配列、多次元配列

宣言方法と初期化、配列要素へのアクセス方法を確認

多次元配列は『配列の配列』

ArrayList

宣言方法とListの操作方法を確認

Java SE 7のダイアモンド演算子も要確認

4. 配列の作成と使用

(22)

5. ループ構造の使用

1.

whileループを作成および使用する

2.

拡張forループを含むforループを作成および使用する

3.

do/whileループを作成および使用する

4.

ループの構造を比較する

5.

breakとcontinueを使用する

(23)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 23

このトピックでの出題ポイント

ループ文の基本構造をもう一度確認しておきましょう

while文とdo-while文の違い

条件式が評価されるタイミングを確認

for文の基本構成要素

for( 前置式; 条件式; 後置式 )

無限ループの作り方 (while文でも確認)

break, continue

ネストしたループ処理の制御方法

5. ループ構造の使用

(24)

6. メソッドとカプセル化を操作する

1.

引数と戻り値があるメソッドを作成する

2.

staticキーワードをメソッドとフィールドに適用する

3.

オーバーロードメソッドを作成する

4.

デフォルトコンストラクタとユーザー定義のコンストラクタを区別する

5.

コンストラクタを作成および多重定義する

6.

アクセス修飾子を適用する

7.

カプセル化の原則をクラスに適用する

8.

値を変更するメソッドに渡した場合のオブジェクト参照とプリミティブ値

に対する影響を判断する

(25)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 25

このトピックでの出題ポイント

クラスの定義方法を問う出題が多いです

メソッド・コンストラクタの定義方法

デフォルト・コンストラクタとオーバーロード

static変数、staticメソッドとインスタンス変数、インスタンスメソッドの違い

変数へのアクセス方法

複数のインスタンスで変数を使用した場合の動きの違いなど

プログラムの実行結果を問う出題もあります

アクセス修飾子による可視性の違い (privateとpublicの違いなど)

6. メソッドとカプセル化を操作する

(26)

7. 継承の操作

1.

継承を実装する

2.

ポリモフィズムの使用例を示すコードを開発する

3.

参照の型とオブジェクトの型を区別する

4.

キャストが必要なタイミングを判断する

5.

superとthisを使用してオブジェクトとコンストラクタにアクセスす

6.

抽象クラスとインタフェースを使用する

(27)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 27

このトピックでの出題ポイント

プログラムをもとに適切な実装を選択する形式の出題が多いです

継承、インタフェース、抽象クラスとも定義方法を確認

参照型のキャストルール

継承関係にあるオブジェクトの初期化処理を確認しておきましょう

スーパークラスのコンストラクタ呼び出し

自クラスでオーバーロードしたコンストラクタの呼び出し

7. 継承の操作

(28)

8. 例外の処理

1.

チェックされる例外、RuntimeException およびエラーを区別する

2.

try/catchブロックを作成し、通常のプログラム・フローが例外に

よってどのように変更されるかを判断する

3.

Javaで使用される例外について説明する

4.

例外をスローするメソッドを呼び出す

5.

一般的な例外クラスとカテゴリを認識する

(29)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 29

このトピックでの出題ポイント

例外処理の基本構文を確認しましょう

try–catch-finally句の処理順

throwとthrowsの使い方

チェック例外と非チェック例外の違い

少し長めのプログラムを評価する問題が出題されるので注意しましょ

配列などの処理時に発生する実行時例外についても確認

8. 例外の処理

(30)
(31)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 31

例題 1

次のコードの実行結果として正しいものはどれですか?

変数のスコープを定義する

1. public class Test {

2. int num;

3. void methodA() {

4. int num = 2;

5. methodB();

6. System.out.print(num);

7. }

8. void methodB() {

9. num = 3;

10. }

11. public static void main(String[] args) {

12. Test test = new Test();

13. int num = 1;

14. System.out.print(test.num);

15. test.methodA();

16. System.out.print(num);

17. System.out.print(test.num);

18. }

19. }

[選択肢]

1.

1233 が出力される

2.

0213 が出力される

3.

1213 が出力される

4.

0333 が出力される

(32)

解答 1

変数のスコープ … 変数が見える (=特定の識別子で参照できる) 範囲

インスタンス変数 / static変数 … クラス内の全てのブロックからアクセス

可能

ローカル変数 … メソッドやif文などの特定のブロック内でのみアクセス可

2. 0213 が出力される

1. public class Test {

2. int num;

3. public static void main(String[] args) {

4. int num = 1;

5. System.out.print(num);

6. System.out.print(test.num);

7. }

8. }

ローカル変数

numの有効範囲

インスタンス変数

numの有効範囲

(33)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 33

例題 2

次のコードについて正しい説明はどれですか?

main()メソッドがある実行可能なJavaアプリケーションを作成する

1. public class Test {

2. public void main() {

3. System.out.println("main()");

4. }

5. public void main(String args) {

6. System.out.println("main(String)");

7. }

8. public static void main(String[] args) {

9. System.out.println("main(String[] args)");

10. }

11. public static void Main(String args[]) {

12. System.out.println("Main(String args[])");

13. }

14. }

[選択肢]

1.

main() が出力される

2.

main(String) が出力される

3.

main(String[] args) が出力される

4.

main(String args[]) が出力される

5.

実行時に例外がスローされる

6.

コンパイルエラーになる

(34)

解答 2

Javaアプリケーションの実行

JVMは指定されたクラスのmainメソッドを呼び出してクラスを実行する

mainメソッドは、public static void として宣言しなければならない

メソッド引数は文字列(String)の配列を受け取る

メソッドのオーバーロード

同一クラス内で引数リストが異なる同名のメソッドを宣言すること

引数リスト = 引数の型、数、順序

- ※ 戻り値は同一でなければならない

メソッド名や識別子は大文字小文字が区別される

3. main(String[] args) が出力される

(35)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 35

例題 3

次のコードのついて正しい説明はどれですか?

1.

5行目が原因でコンパイルエラーになる

2.

6行目が原因でコンパイルエラーになる

3.

arrayFの値がindexの順に表示される

4.

arrayFの値がindexの逆順に表示される

配列を宣言および使用する

1. public class Test {

2. private float[] arrayF;

3. public static void main(String[] s) {

4. Test t = new Test();

5. arrayF = {1.0f, 2.0f, 3.0f, 4.0f};

6. for (int i = t.arrayF.length; i > 0; System.out.println(t.arrayF[i]))

7. i--;

8. }

9. }

(36)

解答 3

配列の宣言方法

ArrayListの宣言方法

2. 6行目が原因でコンパイルエラーになる

private String[] s = {"あ", "い", "う", "え"};

private String[] s = new String[4];

s[0] = "あ"; s[1] = "い"; s[2] = "う"; s[4] = "え";

List a = new ArrayList();

List<String> a = new ArrayList<String>();

配列の宣言と初期化

配列定数を使った配列の宣言と初期化

ArrayListの宣言

(37)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 37

例題 4

次のコードの実行結果を正しく説明しているものはどれですか?

キャストが必要なタイミングを判断する

1. public class SomeClass {

2. public void methodA() {

3. System.out.println("SomeClass#methodA()");

4. }

5. public static void main(String[] args) {

6. AnotherClass ac = new AnotherClass();

7. SomeClass sc = new AnotherClass();

8. ac = sc;

9. sc.methodA();

10. ac.methodA();

11. }

12. }

13. class AnotherClass extends SomeClass {

14. public void methodA() {

15. System.out.println("AnotherClass#methodA()");

16. }

17. }

[選択肢]

1.

SomeClass#methodA()

SomeClass#methodA() が出力される

2.

SomeClass#methodA()

AnotherClass#methodA() が出力される

3.

AnotherClass#methodA()

SomeClass#methodA() が出力される

4.

AnotherClass#methodA()

AnotherClass#methodA() が出力される

5.

コンパイルエラーになる

6.

実行時に例外になる

(38)

解答 4

参照型のキャスト … 継承関係があることが前提

メソッドのオーバーライド

スーパクラスのメソッドをサブクラスで再定義すること

メソッドシグネチャ(戻り値、メソッド名、引数リスト)はスーパークラスのメ

ソッドと同じ

キーワード super で明示的に指定しない限りオーバーライドしたメソッドを呼

5. コンパイルエラーになる

スーパー

クラス

クラス

サブ

暗黙の型変換

キャストによる

型変換

代入

Tips: キャストしたクラスに互換性がなければ実行時に

ClassCastExceptionがスローされる

SomeClass sc = new SomeClass();

AnotherClass ac = new AnotherClass();

ac = (AnotherClass)sc; // 型に互換性がない

(39)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 39

例題 5 - 例外処理

次のコードを正しく説明しているものはどれですか? (例外クラスは

適切にimportされているものとします)

1.

6行目でコンパイルエラーが発生する

2.

4行目でコンパイルエラーが発生する

3.

1行目でコンパイルエラーが発生する

4.

コンパイルは正しく行われる

try/catchブロックを作成し、通常のプログラム・フローが例外によってどのように変更さ

れるかを判断する

1. public static void exec() throws IOException, SQLException {

2. try {

3. // 例外が発生する処理;

4. } catch (Exception e) {

5. // 例外処理

6. throw e;

7. }

8. }

(40)

解答 5

Java SE 7 における例外処理の拡張

try-with-resources … AutoCloseableオブジェクトを暗黙的にクローズ

multi-catch節 … 同じ処理を行うcatch句をまとめて記述

再スロー時の型推論の改善

finally 句でExceptionオブジェクトを再スロー可能

4. コンパイルは正しく行われる

この問題がJava SE 6で出題された場合は6行目でコンパイルエラー

} catch(例外1 | 例外2 ex) {

(41)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 41

(42)

受験前の学習方法

試験情報は受験前に必ず確認しましょう

できるだけ実際にプログラムを作成しましょう

ソースコードを『読む力』は試験でも実務でもきっと役に立ちます!

試験のための学習は …

Java SE API & ドキュメント

を参照しましょう

Oracle Technology Network > Java

にはお役立ち情報が満載です

市販の書籍を活用して試験の出題傾向をつかみましょう

(43)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 43

試験情報サイト

(44)

試験のサンプル問題

試験情報サイトではサンプル問題が閲覧可能です

問題数は8問です。

試験の出題形式に慣れるための

例題です

(45)

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 45

参照

Outline

関連したドキュメント

Vondrák: Optimal approximation for the submodular welfare problem in the value oracle model, STOC 2008,

Tal como hemos tratado de mostrar en este art´ıculo, la investigaci´ on desa- rrollada en el nivel universitario nos ayuda a entender mejor las dificultades de aprendizaje que

このマニュアル全体を読んで、Oracle Diagnostics Pack に同梱の Oracle Performance Manager、Oracle Capacity Planner、Oracle TopSessions および Oracle Event

ネットワークカメラ VB-H45 1.1.0 VisionEdition 1.4.1.23 CX-Programmer

・M.2 Flash モジュール専用RAID設定サービス[PYBAS1SM2]とWindows Server 2022 Standard(16コア/Hyper-V)[PYBWPS5H]インストール/Windows Server 2019

In this diagram, there are the following objects: myFrame of the Frame class, myVal of the Validator class, factory of the VerifierFactory class, out of the PrintStream class,

Jabra Talk 15 SE の操作は簡単です。ボタンを押す時間の長さ により、ヘッドセットの [ 応答 / 終了 ] ボタンはさまざまな機

We study the dynamics of a certain discrete model of interacting interlaced particles that comes from the so called shuffling algorithm for sampling a random tiling of an