Make the Future Java FY13 PPT Template

Similar documents
Make the Future Java FY13 PPT Template

How to Use the PowerPoint Template

Java知識テスト問題

Microsoft PowerPoint ppt

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

Javaプログラマー早期育成ドリル ~コードリーディング編~ 解答

Make the Future Java FY13 PPT Template

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog09.ppt

JavaプログラミングⅠ

5 継承とは クラス図 98 7 参照の自動型変換 参照の自動型変換 クラス図の見方 クラス図の書き方 継承 継承してクラスを作る インスタンスの初期化 継承の効果を確認する

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

Microsoft PowerPoint - prog03.ppt

PowerPoint プレゼンテーション

4-1- 基 Java に関する知識 1 独立行政法人情報処理推進機構

JAVA入門

Java講座

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac

メディプロ1 Javaプログラミング補足資料.ppt

Javaの作成の前に

Prog2_12th

プログラミング基礎I(再)

プログラミング入門1

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

GEC-Java

基本情報STEP UP演習Java対策

Javaセキュアコーディングセミナー2013東京第1回 演習の解説

GEC-Java

<基礎領域>

PowerPoint プレゼンテーション

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

Prog2_9th

PowerPoint Presentation

オブジェクト指向プログラミング・同演習 5月21日演習課題

ÿþ˜u#u·0¹0Æ0à0

メソッドのまとめ

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

JavaプログラミングⅠ

Prog2_9th

Prog1_10th

PowerPoint プレゼンテーション

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

2

Prog1_15th

JavaプログラミングⅠ

受講を行うための前提知識 PC の基本操作ができること 座学 コーディング実習 受講講座の名称 9 日間 67:30 システムエンジニア向け IT 基礎 4/8/( 月 ) IT 技術者に共通する基本的な知識の習得を目標とします コンピュータ基礎では コンピュータの仕組みやコンピュータで扱う数値や単

Javaプログラムの実行手順

Microsoft PowerPoint - chap10_OOP.ppt

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

JavaプログラミングⅠ

JavaプログラミングⅠ

JavaプログラミングⅠ

JavaプログラミングⅠ

スライド 1

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx

PowerPoint プレゼンテーション

GEC-Java

Java プログラミング Ⅰ 11 回目多次元配列 2 次元配列 2 次元配列配列要素が直線上に並ぶ一次元配列に対して 平面上に並ぶ配列要素をもつ配列 直観的には 2 次元配列の準備配列変数の宣言は型と識別子を指定して次のように行う 型識別子 [ ][ ]; または 型 [ ][ ] 識別子 ; 配

JavaプログラミングⅠ

デザインパターン第一章「生成《

文字列操作と正規表現

第 1 章 Java 言語について ( オブジェクト指向, 変数の扱い方, 繰り返し条件と条件分岐 ) Java 言語の概要とオブジェクト指向, 変数の扱い方, 繰り返し条件と条件分岐について理解し, プログラム作成を行う 1.1 Java 言語の概要 JAVA は Sun Microsystems

Java言語 第1回

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説

Android Layout SDK プログラミング マニュアル


2016 年度 JAVA 講座第六週目 目次 パッケージ... 2 パッケージの作成... 2 パッケージの使用方法... 3 異なるパッケージ同名クラスの宣言... 4 パッケージの側面から見たアクセス修飾子... 4 ラッパークラス... 5 ラッパークラス利用法:キャスト... 5 ラッパーク

Microsoft Word 基_シラバス.doc

<Insert Picture Here> 30 分で理解する ORACLE MASTER 日本オラクル株式会社 Oracle University

プログラミング入門1

解答上の注意 1 解答は 解答 紙の問題番号に対応した解答欄にマークしなさい 2 選択肢は 問ごとに 意されています 問 1の選択肢は 問 2で使 しません 3 選択肢は量が多いため 探しやすさの観点よりグループ分けされています グループ分けに合わせて解答欄が区切られていますが 横 1 列で問題 1

JEB Plugin 開発チュートリアル 第4回

11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS デザインパターンとは? デザインパターン 過去のソフトウェア設計者が生み出したオブジェクト指向設計に関して, ノウハウを蓄積し 名前をつけ 再利用しやすいようにカタログ化したもの 各デ

Microsoft PowerPoint - ruby_instruction.ppt

Javaセキュアコーディングセミナー東京 第2回 数値データの取扱いと入力値の検証 演習解説

第二回独習 Java ゼミ 第二章クラスとメソッド 2.1 メソッドの構造 2.2 静的メソッドと静的変数の概要 2.3 インスタンスメソッドとインスタンス変数の概要 2.4 Integerクラス 2006/04/19 神津健太

Prog1_6th

Microsoft PowerPoint - prog04.ppt

2004/11/23 オブジェクト指向プログラミング - モデル図とシーケンス図の表現方法 - オブジェクト指向プログラミング (OOP:ObjectOrientedPrograming) オブジェクト指向プログラミング言語 (OOPL) Java,C++,Delphi(Pascal),Visual

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

4-4- 基スクリプト言語に関する知識 コードの作成や修正が容易とされるスクリプト言語を学習し アプリケーション開発の手法を習得する 本カリキュラムでは まずスクリプト言語に位置づけされる Perl PHP Python JavaScript Ruby といった Ⅰ. 概要プログラミング言語の特徴に

JavaプログラミングⅠ

JAVA入門

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。

プログラミング入門1

108 頁通過テスト 2. の本文 111 頁紹介文 136 頁練習 5-1 プログラム 136 頁練習 5-1 問 2 末尾に句点追加 158 頁練習問題文 161 頁練習 2-2 コメント文 166 頁練習 3-1 問 1 クラス名を挿入 178 頁通過テスト 3 文字 s を削除 180 頁コ

(添付書類3−1)

2

プログラミング入門1

Microsoft Word - problem3.doc

Prog2_10th

全商情報処理検定プログラミング部門 サンプル問題1級解説

開発・運用時のガイド JDK8への移行に伴う留意点 [UNIX]

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

試験問題に記載されている会社名又は製品名は, それぞれ各社の商標又は登録商標です なお, 試験問題では, 及び TM を明記していません

Week 1 理解度確認クイズ解答 解説 問題 1 (4 2 点 =8 点 ) 以下の各問いに答えよ 問題 bit 版の Windows8.1 に Java をインストールする時 必要なパッケージはどれか 但し Java のコンパイルができる環境をインストールするものとする 1. jdk

情報実習Ⅱ

Transcription:

1

OJCP Silver SE 7 資格試験の傾向と対策 日本オラクル株式会社オラクルユニバーシティ 2

以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらないで下さい オラクル製品に関して記載されている機能の開発 リリースおよび時期については 弊社の裁量により決定されます Oracle は 米国オラクル コーポレーション及びその子会社 関連会社の米国及びその他の国における登録商標または商標です 他社名又は製品名は それぞれ各社の商標である場合があります 3

Agenda 1. Java SE 7 対応オラクル認定 Java 資格の ご案内 2. OCJP Silver SE 7 資格試験の傾向と対策 3. 補足情報 4

1. Java SE 7 対応オラクル認定 Java 資格のご案内 5

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 言語の基本文法 ( 変数宣言や制御文 ) とオブジェクト指向プログラミングの基本を理解しているかどうかが主な出題項目です 言語初学者が理解するべき基礎項目を理解しているかが問われます 6

Java SE 7 資格認定パス Bronze と Silver の試験範囲はほとんど同じです プログラミング経験がある方は Silver からスタートしましょう 1Z0-804: Java SE 7 Programmer II Oracle Certified Java Programmer, Gold SE 7 これから資格取得を目指す方 1Z0-803: Java SE 7 Programmer I Oracle Certified Java Programmer, Silver SE 7 1Z0-805: Upgrade to Java SE 7 Programmer 1Z0-802: Java SE 7 Bronze Exam オンライン試験有り Oracle Certified Java Programmer, Bronze SE 7 OCJ-P/SJC-P 資格取得者 ( バージョンは問わない ) 資格名 試験名 一試験で移行可能です 7

OCJP Silver SE 7 試験 Java SE 7 Programmer I 試験名 : Java SE 7 Programmer I (1Z0-803) 認定資格 : Oracle Certified Java Programmer, Silver SE 7 出題数 : 90 問 ( 選択式 ) 試験時間 : 150 分 合格ライン : 77% 試験料 ( 税抜 ): 32,600 円 8

テスト内容チェックリスト 1. Java の基本 変数のスコープを定義する Javaクラスの構造を定義する main() メソッドがある実行可能なJavaアプリケーションを作成する他のJavaパッケージをインポートしてコードでアクセスできるようにする 2. Java のデータ型の操作 変数を宣言および初期化するオブジェクト参照変数とプリミティブ変数を区別するオブジェクトのフィールドに対して読取りと書込みを行うオブジェクトのライフサイクルについて説明するオブジェクトのメソッドを呼び出す 3. 演算子と決定構造の使用 Javaの演算子を使用するカッコを使用して演算子の優先順位を変更する == とequals() を使用して文字列と他のオブジェクトが等しいかどうかをテストする ifおよびif/else 構造を作成する switch 文を使用する 4. 配列の作成と使用 1 次元配列を宣言 初期化 インスタンス化および使用する多次元配列を宣言 初期化 インスタンス化および使用する ArrayListを宣言および使用する StringBuilder クラスおよびそのメソッドを使用してデータを操作する 文字列を作成および操作する 9

テスト内容チェックリスト 5. ループ構造の使用 while ループを作成および使用する 拡張 for ループを含む for ループを作成および使用する do/while ループを作成および使用する ループの構造を比較する break と continue を使用する 6. メソッドとカプセル化を操作する 引数と戻り値があるメソッドを作成する static キーワードをメソッドとフィールドに適用する オーバーロードメソッドを作成する デフォルトコンストラクタとユーザー定義のコンストラクタを区別する コンストラクタを作成および多重定義する アクセス修飾子を適用する カプセル化の原則をクラスに適用する 値を変更するメソッドに渡した場合のオブジェクト参照とプリミティブ値に対する影響を判断する 7. 継承の操作 継承を実装する ポリモフィズムの使用例を示すコードを開発する 参照の型とオブジェクトの型を区別する キャストが必要なタイミングを判断する super と this を使用してオブジェクトとコンストラクタにアクセスする 抽象クラスとインタフェースを使用する 8. 例外の処理 チェックされる例外 RuntimeException およびエラーを区別する try/catch ブロックを作成し 通常のプログラム フローが例外によってどのように変更されるかを判断する Java で使用される例外について説明する 例外をスローするメソッドを呼び出す 一般的な例外クラスとカテゴリを認識する 10

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

OCJP Silver SE 7 試験の出題傾向 ソースコードをもとに その結果を問う問題が多く出題されます ソースコードはそれほど長くありませんが 出題数が多いので短時間でコードの内容を把握できるかどうかがポイントです 1 問あたり 1 分 30 秒ペースで回答する必要があります コンパイルエラーになるか? 実行結果はどうなる? 要件に合致する実装を選ぶ問題も出題されます Java プログラミングの基礎をしっかり理解しておく必要があります トピックごとの出題の偏りはほとんどありません Silver 試験のトピックは Gold 試験でも一部出題されます 12

トピックごとの出題傾向 13

1. Java の基本 1. 変数のスコープを定義する 2. Javaクラスの構造を定義する 3. main() メソッドがある実行可能なJavaアプリケーションを作成する 4. 他のJavaパッケージをインポートしてコードでアクセスできるようにする 14

このトピックでの出題ポイント 1. Java の基本 プログラムを評価する出題が多いです コンパイルエラーの原因や実行結果を判断 変数のスコープは要確認 Java アプリケーションの実行方法をチェックしましょう java コマンドの使い方 ( 引数や実行可能なクラスなど ) mainメソッドの記述方法 : public static void main(string[] args) { } クラスの記述方法はシンタックスをきちんと確認しておきましょう 暗黙で補われる要素 (import/ デフォルトコンストラクタ ) 15

2. Java のデータ型の操作 1. 変数を宣言および初期化する 2. オブジェクト参照変数とプリミティブ変数を区別する 3. オブジェクトのフィールドに対して読取りと書込みを行う 4. オブジェクトのライフサイクルについて説明する 5. オブジェクトのメソッドを呼び出す 6. StringBuilderクラスおよびそのメソッドを使用してデータを操作する 7. 文字列を作成および操作する 16

このトピックでの出題ポイント 2. Java のデータ型の操作 プログラムを評価する出題が多いです プログラムの実行結果や目的に合致する処理を選択 オブジェクトのフィールドへのアクセス方法 参照名. 変数名など 変数 ( 基本データ型, 参照型 ) の初期化 String クラスと StringBuilder クラスのメソッドを確認しておきましょう 文字列を操作するメソッド (substring, replace ) 17

3. 演算子と決定構造の使用 1. Java の演算子を使用する 2. カッコを使用して演算子の優先順位を変更する 3. == と equals() を使用して文字列と他のオブジェクトが等しいかどうかをテストする 4. if および if/else 構造を作成する 5. switch 文を使用する 18

このトピックでの出題ポイント 3. 演算子と決定構造の使用 プログラムを評価する出題が多いです プログラムの実行結果を選択 似たようなパターンの出題が多い 演算子の優先順位を確認 19

4. 配列の作成と使用 1. 1 次元配列を宣言 初期化 インスタンス化および使用する 2. 多次元配列を宣言 初期化 インスタンス化および使用する 3. ArrayList を宣言および使用する 20

このトピックでの出題ポイント 4. 配列の作成と使用 プログラムを評価する出題が多いです プログラムの実行結果を選択 配列と ArrayList は次のポイントを確認しておきましょう 一次元配列 多次元配列 宣言方法と初期化 配列要素へのアクセス方法を確認 多次元配列は 配列の配列 ArrayList 宣言方法とListの操作方法を確認 Java SE 7のダイアモンド演算子も要確認 21

5. ループ構造の使用 1. whileループを作成および使用する 2. 拡張 forループを含むforループを作成および使用する 3. do/whileループを作成および使用する 4. ループの構造を比較する 5. breakとcontinueを使用する 22

このトピックでの出題ポイント 5. ループ構造の使用 ループ文の基本構造をもう一度確認しておきましょう while 文とdo-while 文の違い 条件式が評価されるタイミングを確認 for 文の基本構成要素 for( 前置式 ; 条件式 ; 後置式 ) 無限ループの作り方 (while 文でも確認 ) break, continue ネストしたループ処理の制御方法 23

6. メソッドとカプセル化を操作する 1. 引数と戻り値があるメソッドを作成する 2. static キーワードをメソッドとフィールドに適用する 3. オーバーロードメソッドを作成する 4. デフォルトコンストラクタとユーザー定義のコンストラクタを区別する 5. コンストラクタを作成および多重定義する 6. アクセス修飾子を適用する 7. カプセル化の原則をクラスに適用する 8. 値を変更するメソッドに渡した場合のオブジェクト参照とプリミティブ値に対する影響を判断する 24

このトピックでの出題ポイント 6. メソッドとカプセル化を操作する クラスの定義方法を問う出題が多いです メソッド コンストラクタの定義方法 デフォルト コンストラクタとオーバーロード static 変数 static メソッドとインスタンス変数 インスタンスメソッドの違い 変数へのアクセス方法 複数のインスタンスで変数を使用した場合の動きの違いなど プログラムの実行結果を問う出題もあります アクセス修飾子による可視性の違い (private と public の違いなど ) 25

7. 継承の操作 1. 継承を実装する 2. ポリモフィズムの使用例を示すコードを開発する 3. 参照の型とオブジェクトの型を区別する 4. キャストが必要なタイミングを判断する 5. super と this を使用してオブジェクトとコンストラクタにアクセスする 6. 抽象クラスとインタフェースを使用する 26

このトピックでの出題ポイント 7. 継承の操作 プログラムをもとに適切な実装を選択する形式の出題が多いです 継承 インタフェース 抽象クラスとも定義方法を確認 参照型のキャストルール 継承関係にあるオブジェクトの初期化処理を確認しておきましょう スーパークラスのコンストラクタ呼び出し 自クラスでオーバーロードしたコンストラクタの呼び出し 27

8. 例外の処理 1. チェックされる例外 RuntimeException およびエラーを区別する 2. try/catch ブロックを作成し 通常のプログラム フローが例外によってどのように変更されるかを判断する 3. Java で使用される例外について説明する 4. 例外をスローするメソッドを呼び出す 5. 一般的な例外クラスとカテゴリを認識する 28

このトピックでの出題ポイント 8. 例外の処理 例外処理の基本構文を確認しましょう try catch-finally 句の処理順 throw と throws の使い方 チェック例外と非チェック例外の違い 少し長めのプログラムを評価する問題が出題されるので注意しましょう 配列などの処理時に発生する実行時例外についても確認 29

例題 30

例題 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 が出力される 31

解答 1 2. 0213 が出力される 変数のスコープ 変数が見える (= 特定の識別子で参照できる ) 範囲 インスタンス変数 / static 変数 クラス内の全てのブロックからアクセス可能 ローカル変数 メソッドやif 文などの特定のブロック内でのみアクセス可能 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 の有効範囲 32

例題 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. コンパイルエラーになる 33

解答 2 3. main(string[] args) が出力される Java アプリケーションの実行 JVMは指定されたクラスのmainメソッドを呼び出してクラスを実行する mainメソッドは public static void として宣言しなければならない メソッド引数は文字列 (String) の配列を受け取る メソッドのオーバーロード 同一クラス内で引数リストが異なる同名のメソッドを宣言すること 引数リスト = 引数の型 数 順序 - 戻り値は同一でなければならない メソッド名や識別子は大文字小文字が区別される 34

例題 3 配列を宣言および使用する 次のコードのついて正しい説明はどれですか? 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. } 1. 5 行目が原因でコンパイルエラーになる 2. 6 行目が原因でコンパイルエラーになる 3. arrayfの値がindexの順に表示される 4. arrayfの値がindexの逆順に表示される 35

解答 3 2. 6 行目が原因でコンパイルエラーになる 配列の宣言方法 private String[] s = new String[4]; s[0] = " あ "; s[1] = " い "; s[2] = " う "; s[4] = " え "; 配列の宣言と初期化 private String[] s = {" あ ", " い ", " う ", " え "}; 配列定数を使った配列の宣言と初期化 ArrayList の宣言方法 List a = new ArrayList(); ArrayList の宣言 List<String> a = new ArrayList<String>(); ArrayList の宣言 ( ジェネリックス ) List<String> a = new ArrayList<>(); ArrayList の宣言 ( ダイヤモンド演算子 ) 36

例題 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. 実行時に例外になる 37

解答 4 5. コンパイルエラーになる 参照型のキャスト 継承関係があることが前提 スーパークラス 暗黙の型変換 代入 キャストによる型変換 メソッドのオーバーライド サブクラス Tips: キャストしたクラスに互換性がなければ実行時に ClassCastException がスローされる SomeClass sc = new SomeClass(); AnotherClass ac = new AnotherClass(); ac = (AnotherClass)sc; // 型に互換性がない スーパクラスのメソッドをサブクラスで再定義すること メソッドシグネチャ ( 戻り値 メソッド名 引数リスト ) はスーパークラスのメソッドと同じ キーワード super で明示的に指定しない限りオーバーライドしたメソッドを呼び出す 38

例題 5 - 例外処理 try/catch ブロックを作成し 通常のプログラム フローが例外によってどのように変更されるかを判断する 次のコードを正しく説明しているものはどれですか? ( 例外クラスは適切に import されているものとします ) 1. public static void exec() throws IOException, SQLException { 2. try { 3. // 例外が発生する処理 ; 4. } catch (Exception e) { 5. // 例外処理 6. throw e; 7. } 8. } 1. 6 行目でコンパイルエラーが発生する 2. 4 行目でコンパイルエラーが発生する 3. 1 行目でコンパイルエラーが発生する 4. コンパイルは正しく行われる 39

解答 5 4. コンパイルは正しく行われる Java SE 7 における例外処理の拡張 try-with-resources AutoCloseableオブジェクトを暗黙的にクローズ multi-catch 節 同じ処理を行うcatch 句をまとめて記述 } catch( 例外 1 例外 2 ex) { 再スロー時の型推論の改善 finally 句でExceptionオブジェクトを再スロー可能 この問題が Java SE 6 で出題された場合は 6 行目でコンパイルエラー 40

3. 補足情報 41

受験前の学習方法 試験情報は受験前に必ず確認しましょう できるだけ実際にプログラムを作成しましょう ソースコードを 読む力 は試験でも実務でもきっと役に立ちます! 試験のための学習は Java SE API & ドキュメントを参照しましょう Oracle Technology Network > Java にはお役立ち情報が満載です 市販の書籍を活用して試験の出題傾向をつかみましょう オラクル認定資格教科書 Java プログラマ Silver SE 7 ( 翔泳社 ) 42

試験情報サイト http://education.oracle.co.jp/java-se7-cert/ 43

試験のサンプル問題試験情報サイトではサンプル問題が閲覧可能です 問題数は 8 問です 試験の出題形式に慣れるための例題です 44

45