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

How to Use the PowerPoint Template

N/A
N/A
Protected

Academic year: 2021

シェア "How to Use the PowerPoint Template"

Copied!
45
0
0

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

全文

(1)
(2)
(3)

最新

Java 認定資格ガイド

日本オラクル株式会社

オラクルユニバーシティ

担当マネージャ

岡田 大輔

Java Day Tokyo 2015

2015

4

8

(4)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

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

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

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

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

になさらないで下さい。オラクル製品に関して記載されている機能の開発、リ

リースおよび時期については、弊社の裁量により決定されます。

4

OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。

文中の社名、商品名等は各社の商標または登録商標である場合があります。

(5)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

本日おはなしすること

今日までの Java 認定資格

これからの Java 認定資格

新試験受験のポイント

1

2

3

5

(6)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

今日までの Java 認定資格

Java SE

7

資格の現状

(7)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

7

Java認定資格は、Javaプログラミングスキルを証明する世界共通の認定資格です。

Java SE / EE 認定資格

Oracle Certified Expert , Java EE 6

Web Component Developer

Oracle Certified Expert, Java EE 6

Enterprise JavaBeans Developer

Oracle Certified Expert, Java EE 6

Java Persistence API Developer

Oracle Certified Expert, Java EE 6

Web Services Developer

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

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

※ Global資格名: Oracle Certified Professional, Java SE 7 Programmer

Oracle Certified Java Programmer,

Gold

SE 7

上級者の指導のもとで指定された実装が行えるレベル

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

※ Global資格名: Oracle Certified Associate, Java SE 7 Programmer

Oracle Certified Java Programmer,

Silver

SE 7

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

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

Oracle Certified Java Programmer,

Bronze

SE 7

Oracle Certified Expert,

Java EE 6 JaveServer

Faces Developer

レベル3

レベル2

レベル1

レベル0

ITSSレベル

(8)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

8

Java SE 7 資格のレベル感

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言語の基本文法(変数宣言や制御文)とオブジェクト指向プログラミングの基本を理解して

いるかどうかが主な出題項目です。

言語初学者が理解するべき基礎項目を理解しているか

が問われます。

(9)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

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

Oracle Certified

Java Programmer,

Gold SE 7

9

Java SE 7 資格認定パス

Bronze, Silver

どちらからでも

スタート可能

一試験で

移行可能

これから資格取得

を目指す方

OCJ-P / SJC-P

資格取得者

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

資格名

試験名

(10)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

OCJP Bronze / Silver SE 7 試験の出題傾向

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

ソースコードはそれほど長くありません (10-15行程度) が、出題数が多いので

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

1問あたり1分30秒

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

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

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

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

出題トピックはほとんど同じです

Silver 試験では例外処理も出題範囲です

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

Bronze と Silver の共通点

(11)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

OCJP Bronze / Silver SE 7 試験の出題傾向

Bronze 試験の方が素直な問題が多いです

単一項目が理解できていれば解答可能な問題が多いです

Java SE 7 の新機能は出題しません

オブジェクト指向プログラミングに関する出題が多いです

Silver 試験は少し高度なトピックも出題されます

複数の要素を組み合わせた出題もあります

Java SE 7 の新機能も出題されます

各トピックはほぼ均等に出題されるので網羅的に準備しましょう。

Bronze と Silver で異なる点

(12)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

OCJP Gold SE 7 試験の出題傾向

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

少し長めのソースコード (15-20 行程度) を読み込む必要があるが、出題数が多

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

1問あたり1分30秒

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

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

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

デザインパターンはパターンと実装例をしっかり把握しておく必要があります

Gold 試験 (804) と移行試験 (805) との共通点

(13)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

OCJP Gold SE 7 試験の出題傾向

Gold試験 (804) は従来のプログラマ試験の範囲がメインです

Java SE 7 の新機能ももちろん出題されますが、ファイル I/O やスレッドプログ

ラミングなど Java SE 6 までのプログラミングスキルを問う問題も多く出題さ

れます

特にスレッドプログラミングはコードが複雑です

アサーションや書式付き出力 (printf) なども要チェックです

移行試験 (805) は Java SE 7 の新機能にフォーカスしています

Project Coin や Fork/Join, NIO.2 など Java SE 7 の新機能を理解できているかを問

う問題が多く出題されます

各トピックはそれほど深い理解を問うものではありませんが、プログラミングの手順

などひと通り理解できているかどうかがポイントです

Gold 試験 (804) と移行試験 (805) で異なる点

(14)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

みんなのギモン:「認定試験は時間的な

余裕がない!」

オラクル認定資格の試験仕様の策定には『心理統計学者

(Psychometrician)

』も関与しています!

認定試験は英語試験開始時にベータ試験を実施します

日本語でベータ試験を行うことはあまりありません (基本的に Bronze 試験のみ)

ベータ試験の受験結果に基づいて、合格ラインと試験時間が設定されます

試験時間については、受験者が「心理的プレッシャーを少し感じる」程度の時間になるよ

うに心理統計学者が助言を行います

14

そう感じるように試験時間を設定しています

時間が足りなく感じるのは当然のことなので

慌てず。落ち着いて。

解答しましょう

(15)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

これからの Java 認定資格

Java SE

8

認定資格。はじまります

(16)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Java SE 8

対応

認定資格

2015年5月28日(木)

より日本語試験

順次開始

16

Oracle Certified

Java Programmer,

Bronze

SE 7/8

Oracle Certified

Java Programmer,

Silver

SE 8

Oracle Certified

Java Programmer,

Gold

SE 8

(17)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Oracle Certified

Java Programmer,

Silver

SE 8

Oracle Certified

Java Programmer,

Gold

SE 8

Java SE 7 / 8 認定資格

17

あたらしい認定資格体系

設計者の意図を正しく理解して

独力で機能実装が行えるレベル

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

上級者の指導のもとで

指定された実装が行えるレベル

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

Javaによる

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

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

Oracle Certified Java Programmer,

Bronze

SE 7/8

Oracle Certified

Java Programmer,

Silver

SE 7

Oracle Certified

Java Programmer,

Gold

SE 7

(18)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

18

Java SE 8 資格のレベル感

Oracle Certified

Java Programmer,

Gold

SE 8

Oracle Certified

Java Programmer,

Silver

SE 8

Oracle Certified

Java Programmer,

Bronze

SE 7/8

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

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

Gold資格は、コレクションAPI, ファイルI/O, 並行処理、JDBCなどのコア・ライブラリを使用方法と Java SE 8 の

新機能である

Lambda 式や Stream API

を使用した関数スタイルのプログラミング方法を理解しているかどうか

が主な出題項目です。加えて

デザインパターン

についても問われるため

設計から実装までの包括的なスキル

を身につけているか

が問われます。

(Global資格: Oracle Certified Professional, Java SE 8 Programmer)

上級者の指導のもとで実装コードやテストコードなどを書けるレベル

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

Silver資格は、Java言語の基本文法とオブジェクト指向プログラミング(クラス、インタフェース、例外処理)を

理解しているかどうかが主な出題項目です。また、基本的なLambda 式の書き方やDate and Time API の基礎を

含めた

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

が問われます。

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

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

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

Bronze資格は、Java言語の基本文法(変数宣言や制御文)とオブジェクト指向プログラミングの基本を理解して

いるかどうかが主な出題項目です。

言語初学者が理解するべき基礎項目を理解しているか

が問われます。

(19)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Java SE 7 資格

Java SE 8 資格

Java SE 7 / 8 認定パス

19

OCJP

Gold SE 8

OCJP

Silver SE 8

OCJP

Gold SE 7

OCJP

Silver SE 7

SJC-P

(any version)

OCJP

Bronze SE 7/8

OCJ-P

SE 5/6

任意 必須

Java SE 7 Programmer I

(1Z0-803)

Java SE 8 Programmer I

(1Z0-808)

Java SE 7 Programmer II

(1Z0-804)

Java SE 8 Programmer II

(1Z0-809)

Upgrade to Java SE 8 Programmer

(1Z0-810)

Java SE 7/8 Bronze

(1Z0-814)

Upgrade Java SE 5 and 6 to Java

SE 8 Programmer (1Z0-813)

Upgrade to Java SE 7 Programmer

(1Z0-805)

(20)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Oracle Certified

Java Programmer,

Silver

SE 8

Oracle Certified

Java Programmer,

Bronze

SE 7/8

1Z0-809:

Java SE 8 Programmer II

1Z0-808:

Java SE 8 Programmer I

1Z0-814:

Java SE 7/8 Bronze Exam

Oracle Certified

Java Programmer,

Gold

SE 8

20

Java SE 8 認定パス

(新規)

Bronze, Silver

どちらからでも

スタート可能

資格名

試験名

これから資格取得

を目指す方

(21)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Java SE 8 認定パス

(移行)

21

Oracle Certified

Java Programmer,

Gold

SE 8

1Z0-813: Upgrade Java SE 5 and 6

to Java SE 8 Programmer

1Z0-810: Upgrade to

Java SE 7 Programmer

1Z0-805: Upgrade to

Java SE 7 Programmer

SJC-P 保持者は

OCJP Gold SE 7 → OCJP Gold SE 8

の順でアップグレード

OCJ-P SE 5/6 または OCJP Gold SE 7

保持者は一試験で移行可能!

資格名

試験名

SJC-P 資格取得者

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

OCJ-P SE 5 / 6

資格取得者

OCJP Gold SE 7

資格取得者

(22)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

1Z0-810: Upgrade to

Java SE 8 Programmer

1Z0-804:

Java SE 7 Programmer II

Oracle Certified

Java Programmer,

Gold

SE 8

22

Java SE 8 認定パス

(OCJP Silver SE 7 資格取得者)

1Z0-809:

Java SE 8 Programmer II

1Z0-808:

Java SE 8 Programmer I

資格名

試験名

Oracle Certified

Java Programmer,

Gold

SE 7

Oracle Certified

Java Programmer,

Silver

SE 8

OCJP Silver SE 7

資格取得者

OCJP Silver SE 7 資格取得者は、

OCJP Gold SE 7 → OCJP Gold SE 8

(23)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

1Z0-804:

Java SE 7 Programmer II

Oracle Certified

Java Programmer,

Gold

SE 8

23

Java SE 8 認定パス

(OCJP Bronze SE 7 資格取得者)

1Z0-809:

Java SE 8 Programmer II

資格名

試験名

Oracle Certified

Java Programmer,

Gold

SE 7

Oracle Certified

Java Programmer,

Silver

SE 8

OCJP Bronze SE 7

資格取得者

Oracle Certified

Java Programmer,

Silver

SE 7

1Z0-803:

Java SE 7 Programmer I

1Z0-808:

Java SE 8 Programmer I

Bronze 新試験 (1Z0-814) は

再受験不要なので Silver 試験に

チャレンジしましょう!

(24)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Java SE 8 試験と資格

試験番号 試験名

認定資格

前提資格

試験開始時期

1Z0-814

Java SE 7/8 Bronze

Oracle Certified Programmer,

Bronze SE 7/8

なし

2015年 5月28日

1Z0-808

Java SE 8 Programmer I

Oracle Certified Programmer,

Silver SE 8

なし

2015年 7月上旬

1Z0-809

Java SE 8 Programmer II

Oracle Certified Programmer,

Gold SE 8

OCJP Silver SE 8

2015年 10月

(※)

1Z0-810

Upgrade to Java SE 8 Programmer

OCJP Gold SE 7

2015年 9月

(※)

1Z0-813

Upgrade Java SE 5 and 6 to Java SE 8

Programmer

OCJ-P SE 5 または

OCJ-P SE 6

2015年 10月

(※)

24

日本語試験は順次開始します

※ 英語試験のリリース状況によって日本語試験開始時期を変更する可能性があります

(25)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

新試験受験のポイント

OCJP Bronze SE 7/8 資格試験と OCJP Silver SE 8 資格試験

(26)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

OCJP

Bronze

SE 7/8 資格試験

試験名(試験番号): Java SE 7/8 Bronze (1Z0-814)

資格名: Oracle Certified Java Programmer,

Bronze

Java SE 7/8

出題数: 60 問

試験時間: 65 分

合格ライン: 60%

試験開始日: 2015 年 5 月 28 日 (木)

試験予約開始: 2015 年 5 月 21 日 (木) 〜

26

1Z0-814: Java SE 7/8 Bronze

(27)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

新試験 1Z0-814: Java SE 7/8 Bronze の

真実

Java SE 7 Bronze

(1Z0-802)

と同ーの試験問題

27

バージョンに依存する内容は出題しません

(28)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

よくある質問と回答

1Z0-802 と 1Z0-814 の違いはなんですか?

試験番号と試験名が異なるだけです。出題内容はもちろん、出題数や

試験時間、合格ラインなどの試験仕様も変更はありません。

試験対策本も 1Z0-802 用のものをそのまま使って大丈夫です。

『オラクル認定資格教科書 Javaプログラマ Bronze SE 7』 (翔泳社)

『オラクル認定資格教科書 Javaプログラマ Bronze SE7 スピードマスター問題集』(翔泳社)

『徹底攻略Java SE 7 Bronze問題集[1Z0-802]対応』(インプレスジャパン)

1Z0-802 の受験予約をしてしまいました。1Z0-814 に変更した方がい

いですか?

いいえ。1Z0-802 試験合格者も OCJP Bronze SE 7/8 資格者として認定されますの

で、そのまま 802 試験を受験しても大丈夫です。

28

OCJP Bronze SE 7/8

(29)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

OCJP

Silver

SE 8 資格試験

試験名(試験番号): Java SE 8 Programmer (1Z0-808)

資格名: Oracle Certified Java Programmer,

Silver

Java SE 8

出題数: 77 問

試験時間: 120 分

合格ライン: 65 %

日本語試験開始予定: 2015 年 7 月上旬

29

1Z0-808: Java SE 8 Programmer

(30)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

1Z0-808: テスト内容チェックリスト (1)

1. Javaの基本

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

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

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

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

2. Javaのデータ型の操作

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

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

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

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

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

30

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

Javaの演算子を使用する

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

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

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

switch文を使用する

4. 配列の作成と使用

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

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

(31)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

1Z0-808: テスト内容チェックリスト (2)

5. ループ構造の使用

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

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

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

ループの構造を比較する

breakとcontinueを使用する

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

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

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

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

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

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

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

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

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

る影響を判断する

31

7. 継承の操作

継承を実装する

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

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

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

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

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

8. 例外の処理

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

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

に変更されるかを判断する

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

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

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

(32)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

1Z0-808: テスト内容チェックリスト (3)

9. 基本的な Java API の使用

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

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

Date and Time API を使用した日付の操作 ( java.time.LocalDateTime,

java.time.LocalDate, java.time.LocalTime, java.time.format.DateTimeFormatter,

java.time.Period )

ArrayListを宣言および使用する

Predicate を使用する基本的な Lambda 式を記述する

32

新トピックは、「

9. 基本的な Java API の使用

」のみ

文字列操作と ArrayList は Java SE 7 試験でも出題されていた

ので、新規は Date and Time API と Lambda の基礎だけ。

(33)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

1Z0-808: Java SE 8 Programmer I を先取り

LocalDateクラスの使い方

オブジェクト生成のためのメソッドは次をチェック!

now(), of(int year, int month, int dayOfMonth), parse(charSquence text)

of メソッド引数が取りうる値の範囲?

month: 1-12 or 列挙型 Month, day: 1-28,29,30, 31

parse フォーマットは?

"YYYY-MM-DD"

日付の加減算するメソッド

加算:

plusDays(long days), plusMonths(long months), plusWeeks(long weeks), plusYears(long years)

減算:

minusDays(long days), minusMonths(long months), minusWeeks(long weeks), minusYears(long years)

DateTimeFormatterクラスの使い方

事前定義されたフォーマッタ

ISO_LOCAL_DATE ('2011-12-03'), ISO_LOCAL_DATE_TIME ('2011-12-03T10:15:30')

33

Date and Time API は何が聞かれる?

無効な値を指定した場合はどう

なるか?

も確認しましょう

次のコードは同じ結果?

LocalDate.now().plusMonths(

-2

);

LocalDate.now().minusMonths(

2

);

One Point:

和暦

(java.time.chrono.JapaneseDate)

の使い方も確認しておきましょう

(34)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

1Z0-808: Java SE 8 Programmer I を先取り

List のデフォルトメソッド:

replaceAll (UnaryOparator<E> operator)

removeIf (Predicate<? super E> filter)

*Collection インタフェースのデフォルトメソッド

UnaryOperator や Predicate は関数型インタフェース = Lambda 式 OK !

34

Lambda 式はどの程度問われる?

One Point:

デフォルトメソッド

インタフェースに記述できる実装を

持ったメソッドのこと。

・キーワード default を指定する

・実装クラスでオーバーライド可能

List<String> words = Arrays.asList("java", "day", "tokyo");

// Lambda 式(省略なし)

words.replaceAll((String t) -> {return t.toLowerCase();} );

// Lambda 式(省略あり)

words.replaceAll(

t ->

t.toLowerCase()

);

(35)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

こんな問題に注意!

- その1

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

(例外クラスは適切に import されているものとします)

1.

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

2.

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

3.

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

4.

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

例外はスローできる?

1. public void process() throws IOException, SQLException {

2. try {

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

4. } catch (Exception e) {

5. // 例外処理

6. throw e;

7. }

8. }

(36)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

出題者の意図

- その1

Java SE 7 以降では、コンパイラによる例外オブジェクトの再 throw

時の型チェックが改善されています

throws 節に指定されたクラスのスーパークラスも throw 可能

発生する例外の型を推論可能なので、複数の例外をまとめて処理できます

Java SE 6 では、問題文のコードは 6 行目でコンパイルエラー

です

コンパイラの型チェックは意外とかしこい!!

バージョンによる違いが理解できていますか?

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

2. try {

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

4. } catch (Exception e) {

5. // 例外処理

6. e = new Exception();

7. throw e;

8. }

9. }

catch した例外オブジェクトとは

別の例外オブジェクトを throw すると

コンパイルエラーになります!

(37)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

こんな問題に注意

- その2

37

Data and Time API を使った日付の加減算

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

1.

2015-04-08

2.

2015-06-10

3.

2015-05-10

4.

実行時例外が発生する

LocalDate date = LocalDate.parse("2015-04-08");

date.plusDays(2);

date.minusMonths(-2);

(38)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

出題者の意図

- その2

LocalDate クラスの parse メソッドの引数

第二引数がない場合、DateFormatter.ISO_LOCAL_DATE (= "YYYY-MM-DD")

LocalDate クラスでの加減算

LocalDate クラスは「日付」の演算のみ (Day, Week, Month, Year)

時間のみを扱う場合は LocalTime クラス。日付と時間は LocalDateTime クラス

メソッド引数には負の値を指定しても OK

date.minusMonths(-2); // 評価結果は 2015-06-08

38

Date and Time API の日付は不変オブジェクト

“2015-4-8” だとフォーマットに

合致しないので実行時例外になります

One Point:

LocalDate クラスのオブジェクトは不変 (Immutable)

です。

(39)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

こんな問題に注意!

- その3

39

Lambda 式に惑わされるな!

次のコードを確認してください。

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

1.

246810 が出力される

2.

12345678910 が出力される

3.

実行時例外になる

4.

コンパイルに失敗する

List<Integer> even = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

even.removeIf(i -> i % 2 != 0);

(40)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

出題者の意図

- その3

問題の Lambda 式には構文上の間違いはありません

この問題で注目すべきは Arrays.asList(1, 2, ..);

このメソッドは固定サイズのリストを返すので add / clear / remove メソッドを

呼び出すと実行時例外

(UnsupportedOperationException)

が発生します。

コードを正しく動作させるためには以下のように修正します。

40

問われているのは Lambda 式の知識ではない!?

List<Integer> even = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

even.removeIf(i -> i % 2 != 0);

System.out.println(even);

(41)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

よくある質問と回答

これから資格をとるなら Java SE 8 資格と Java SE 7 資格のどちらがい

いですか?

これから学習を始めるのでしたら

Java SE 8 資格

をオススメします。

最新技術をキャッチアップしていることを証明できたほうが差別化につながります。

出題トピックが Java SE 7 資格試験と重複する部分は

同じ傾向の問題が出題

れます。

ただし、全く同じ問題が出題されるわけではありません。

Silver 試験で出題された Lambda 式や Data and Time API に関するト

ピックは、Gold 試験では出題されませんか?

いいえ。

Gold 試験でも出題されます

ので、今のうちにしっかり整理しておき

ましょう。

41

(42)
(43)
(44)
(45)

参照

Outline

関連したドキュメント

[r]

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

contrastes en modelos sin interacci´on, para probar hip´otesis respecto a un fac- tor, se debe determinar si el modelo es conectado, pues cuando esto sucede, se pueden

このマニュアル全体を読んで、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

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 の操作は簡単です。ボタンを押す時間の長さ により、ヘッドセットの [ 応答 / 終了 ] ボタンはさまざまな機