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

Java Day Tokyo 2017 ダウンロード資料

N/A
N/A
Protected

Academic year: 2021

シェア "Java Day Tokyo 2017 ダウンロード資料"

Copied!
74
0
0

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

全文

(1)

今日からはじめる

Java プログラミング

~Java 超入門~

日本オラクル株式会社

オラクルユニバーシティ

プリンシパルインストラクター

渋井 俊昭

Java Day Tokyo 2017

2017

5

17

(2)

Safe Harbor Statement

The following is intended to outline our general product direction. It is intended for

information purposes only, and may not be incorporated into any contract. It is not a

commitment to deliver any material, code, or functionality, and should not be relied upon

in making purchasing decisions. The development, release, and timing of any features or

functionality described for Oracle’s products remains at the sole discretion of Oracle.

(3)

本日

おはなしすること

Java とは?

はじめての Java プログラム

ステップアップ(データ型と変数、プログラムの構造)

もっと学習するには(参考資料)

1

2

3

4

(4)

Java

とは?

(5)

なぜ Java を勉強するのですか?

みんなやっているから?

会社からの指示で?

面白そう?

プログラミングぐらい出来ないとなー

基礎素養として

などなど

(6)

プログラミング言語およびプログラムの

実行環境

(プラットフォーム)

最先端

ログラム

基礎

となっている

テクノロジー

です

世界中の個人用コンピュータや、何十億台もの

デバイス

(モバイルデバイスや TV など)

で動作してい

ます

私が、『Duke(デューク)』です。

(7)

Duke

, the Java Mascot

(8)

さまざまなシステムで動作するアプリケーションを Java で開発可能

さまざまな環境で

Java

が動きます

Servers

Servers

Desktop

Desktop

Embedded

Embedded

TV

TV

Mobile

Mobile

Card

Card

Java Card

Java EE

Java TV

BD-J

JavaFX

MAF

Java Language

Java SE

Java ME

APIs

Platform

Language

Server JVM

Client JVM

Embedded JVM

TV JVM

Mobile JVM

Card JVM

JVMs

(9)

世界で

最も利用

されている開発言語のひとつです。(2017/5現在)

PYPL: PopularitY of Programming Language

http://pypl.github.io/PYPL.html

【メリット】

(10)

プログラミング言語 … 『プログラム

作る

従来のプログラミング言語の

良いところ取りです

プラットフォーム … 『プログラム

動かす

実行環境 (Java Runtime Environment)

プラットフォームに依存しない

実行環境 (JVM) を提供します

開発環境 (Java Development Kit)

プログラミングに必要なツール群が

無償で利用できます

プログラミング言語

プラットフォーム

実行環境

開発環境

プログラミング言語

プログラミング言語

プラットフォーム

Java

の 2 つの側面

『Java』という言葉は

2つの意味で使われて

いる!!

(11)

一度作った『実行ファイル』は様々なプラットフォーム(OS上)で実行可能です。

Javaは

マルチプラットフォーム

『ソース・ファイル』

『ソース・コード』

と呼ぶ

『クラス・ファイル』

『実行ファイル』

と呼ぶ

作るのはココ!

コンパイラが行うのは【変換作業】

『人間が分かりやすい/作りやすい』形

『コンピュータ上で効率よく実行できる』形

Windows

Linux

Solaris

【メリット】

•OS毎に開発部隊(要員)を準備しなくて良い。(新たな開発に人員を回せる)

•後からプラットフォームを変更してもプログラムを最小限の変更で利用できる。

様々な環境で

動く!

コンパイラが

作ってくれる!

(12)

Java EE

Java EE

(Enterprise Edition)

エンタープライズ・システム

(企業システム)

向けのAPI を提

Java SE

(Standard Edition)

標準 API を提供

Java ME

(Micro Edition)

組み込みデバイス向けの

API を提供

Java のエディション

Java SE

Java SE

Java SE

Java ME

Java が動く環境にあわせて 3 つのエディションを提供

ここから勉強を

始めるのが良い

(13)

継承

下位互換性の維持

既存の技術の改善

革新

OS, HW の進化に対応

利用形態の変化に対応

開発言語の変化に対応

継承と革新

Java の方向性

マルチコア最適化

大容量メモリ対応

モバイル/HTML5

クラウド

他言語サポート

開発生産性の向上

既存資産, ナレッジの保護

Internet of Things

(14)

1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018

Java

SE

のあゆみ

Java SE 5.0

Java SE 6

Java SE 7

Java SE 8

J2SE 1.3

J2SE 1.2

JDK 1.1

JDK 1.0

J2SE 1.4

言語仕様の

大きな変更

言語仕様の

大きな変更

言語仕様の

大きな変更

言語仕様の 小さな変更

Java SE 9

言語仕様の

大きな変更

(15)

はじめての Java

プログラム

(16)

プログラミング

はなにをすること?

プログラムとは?

コンピューターに実行させる処理を記述したものです

プログラムをコンピュータが解釈できる形にしたものを

実行ファイルと言います

プログラミング言語とは?

プログラムを記述するために作られた人工言語です

Java や C++ などはプログラミング言語です

コンピューターに実行させるプログラムを書くことです

プログラム

実行ファイル

1+1= ?

プログラミング言語

2

実行結果

(17)

プログラミングに

必要なもの

は?

ソースコードを記述するもの

テキストエディタなどでソースコードを記述できます

ソースコードから実行ファイルを生成するもの

コンパイラなどを含む

開発環境

を使用します

ソースコード

コンパイラ

実行ファイル

開発環境

開発環境

準備しましよう

作るのはココ!

(18)

開発環境

(Java Development Kit)

Javaプログラミングに必要なツール

(コンパイラやドキュメント生成ツール、

実行コマンド) が含まれています

実行環境

(Java Runtime Environment)

Javaプログラムを実行するた

めのコマンドが含まれていま

必要なものは

JDK

として提供されます

ソースコード

コンパイラ

(

javac

)

実行ファイル

APIドキュメント

ドキュメント生成

(

javadoc

)

実行

(

java

)

JVM

開発環境

としての Java

ソースコードを実行ファイル化することを

コンパイル

といいます。

(19)

JDK(Java Development Kit)

入手

するには?

Oracle Technology Network

から無償で入手できます

http://www.oracle.com/technetwork/jp/index.html

(20)

ウィザードの指示に従えば大丈夫。

JDKを

インストール

しましょう

Windows インストーラでは

JDK(開発ツール) と JRE を

個別に インストール できます

(21)

Helloworld

画面に文字列を表示するプログラムを作ってみましょう

初めてのサンプルプログラムとして多くのプログラミング言語で作られる文字列を表

示するプログラムです

なぜ Helloworld ?

伝統的にこの文字列が使われています

(特に意味はないようです  )

世界一有名なプログラムを Java で作ってみよう

Hello

Java

(22)

3つのステップでプログラミングします

Javaプログラミングの流れ

ソースコード

コンパイラ

(

javac

)

実行

(

java

)

JVM

実行ファイル

①ソースコードを

書く

②ソースコードをコ

ンパイルする

③プログラムを

実行する

お好みの

エディタでOK

(23)

テキストエディタで書いてみましょう

①ソースコードを

書く

public class Helloworld {

public static void main(String[] args) {

System.out.println("Hello Java!");

}

}

ファイル名は「クラス名.java」で保

存しましょう

クラス名

One Point:

・ソースコードでは半角文字と全角文字は区別されます。

・英数字とスペース (空白) は半角文字

を使いましょう。

・エディタの機能に「全角スペースを表示」機能があればONにし

ておきましょう。

Helloworld.java

Javaは大文字/小文字

を区別します。

(24)

public class Helloworld {

public static void main(String[] args) {

System.out.println("Hello Java!");

}

}

Javaプログラムはクラスという単位で構成されます

①ソースコードを書く

Helloworldというクラスの定義

javaコマンドでプログラムを実行するときに呼び出す処理の定義 (mainメソッド)

プログラムとして実行される処理の内容

→ 「

Hello Java !

という文字列を画面に表示しなさい」

One Point:

文字列を表示するときは 文字列

を「"

(ダブルクォーテーション)

」で囲み

ましょう

Helloworld.java

(25)

ソースコードの完成

ソースコードが

完成しました。

(26)

クラスファイル (実行ファイル) を生成します。(javac コマンド)

②ソースコードを

コンパイル

する

javac

One Point:

生成された実行ファイルはクラ

スファイルと呼びます

Helloworld.java

Helloworld.class

One Point:

Windows 環境などで javac コマンドが見

つからない場合は環境変数 PATH の設定

を確認しましょう

Javac(コンパイラ)に

ソース・コードを

渡します。

(27)

Helloworld.java

コンパイルがうまくいかない場合は?

②ソースコードをコンパイルする

One Point:

コンパイルに失敗すると失敗の原

因が表示されます。ソースコードを

確認してみましょう。

タイプミスを修正して

もう一度コンパイルしましょう

【ポイント】

•ミスが見つからないときは前の行も見ましょう。

•エラーの量に圧倒されずに、『一番上から』修正しましょう。

【エラーが伝えていること】

3行目が間違ってます。

•位置は ^(ハット)のあたりです。

(28)

クラスファイルを実行してみましょう

③プログラムを

実行する

java

Hello Java !

One Point:

javaコマンドを実行するときには

クラス名を指定します

(

拡張子 .class は指定しません

)

Helloworld.class

Java(実行環境)に

クラスファイルを

渡します。

(29)

早い段階で、何も見ずにこのコードが書けるようになりましょう。

(Javaで何かを行おうとしたときに、最低でもこのコードは書かないといけません。)

このコードは丸暗記

public class Xyz {

// main メソッド

public static void main(String[] args) {

}

}

One Point:

・ソースコードは綺麗に書くようにする。(動けばいいという考えは良くない)

→コードレビュー時に

他人がコードを読むことを考慮

する。

→プログラムの構造が見た目に分かりやすくなりバグを見つけやすくなる。

→デバッグ時の効率が良くなる。

Xyz.java

インデント(字下げ)

もきちんと行う。

コメントもつけて

境目を分かりやすく。

•Java言語には『コーディングの作法』があります。

•この作法に則ってプログラムすることで、コードが読みやすくレビューしやすくなります。

(30)

統合開発環境 (

IDE

) とは?

ソースコードを記述するエディタやコンパイラ

などの開発環境をひとつの画面から利用できる

ソフトウェアです

IDEから必要なツールを使うことができます

コード補完機能などプログラミングをサポート

する便利な機能も提供されます

代表的なIDE

NetBeans (

http://ja.netbeans.org/

)

IntelliJ IDEA (

http://www.jetbrains.com/idea/

)

Eclipse (

http://www.eclipse.org/

)

プログラミングを「かんたん」にしてくれるソフトウェアです

メリットはあるのですが・・・

IDEが補完してしまうので、頭に残りません。

(31)

IDE の構成画面を覚えましょう

IDE

を使う場合は? -

NetBeans

プロジェクト

ウィンドウ

エディタ

ウィンドウ

出力

ウィンドウ

One Point:

NetBeansでは作成するプログラム

プロジェクト

という単位で管理し

ています。

プロジェクト・ウィンドウには作成し

たソースコード(.javaファイル)が表

示されます。

エディタ・ウィンドウにはソースコー

ドを編集することができます。

出力ウィンドウにはプログラムの

実行結果などが表示されます。

プロジェクト

作成

(32)

プログラムを管理するためのプロジェクト作成しましょう

プロジェクト

を作成

する

Javaアプリケーション

を選択

メイン・クラスの作成は

任意で選択

(33)

プロジェクト内にクラスを作成しましょう

クラス

を作成する

クラス名は大文字小文字が

区別されるので注意しましょう

実際のプログラム開発時は

パッケージを指定しましょう

(34)

プログラムで実行したい処理を書きましょう

③ソースコードを

書く

One Point:

作成したプログラムのクラスと

mainメソッドは自動的に定義され

ています。

エディタ・ウィンドウではmainメソッ

ドの中にプログラム実行したい処

理を記述していきます。

NetBeansではコード補完機能があ

るので効率的にプログラミングを

行うことができます。

選択肢を選ぶだけ。

入力ミスの低減、入力

時間の短縮で効率的。

(35)

コンパイルエラーになるコードを書いてしまったら?

③ソースコードを書く

One Point:

NetBeansではプログラムに不備が

あってコンパイルエラーになる場

合は、

赤い波線

とアイコンが表示

されます。

予約語などのキー

ワードは色がつくので

分かりやすい。

この辺の行に

エラーがあるよー

(クリックするとジャン

プします。)

赤がある間は

実行できないよ

(36)

プログラムを実行してみましょう

④プログラムを

実行する

[プロジェクトを実行] で

も実行可能です

One Point:

プログラムを実行すると結果が出

力ウィンドウに表示されます。

One Point:

NetBeansではファイル保存時にコ

ンパイルが行われているため明示

的にコンパイルをしなくてもプログ

ラムを実行可能です。

(明示的にコンパイルすることもで

きます

)

ファイルの実行を選択すると

プログラムを実行できます

(37)

ステップ・アップ

(38)

何から学ぶか

Javaの世界は広くて深いですが、つまづきやすい以下の点を押さえましょ

う。

• データ型と変数

• クラスとインスタンス

• プログラムの構造

(39)

データ型と変数

2つのデータ型

基本データ型

値(データ)を格納するための基本的な型。数字、文字、真偽に対して定義されている。

byte, short, int, long, char, float, double, boolean の8種類

「原子」のようなもの。

参照型

基本データ型以外の型(=クラス)

クラスとはプログラマが自分で作ることが出来る独自の型

(基本データ型を組み合わせて独自の型を作ることが出来る)

原子を組み合わせて作った「分子」のようなもの。

Javaではデータ型は大きく分けて

2つの種類

がある。

変数は入れ物。変数名は入れ物に付けた名前。

2つのデータ型は

取り扱い方法が違うので

常に意識する!!

(40)

そもそもなぜデータ型が2つあるのか?

基本データ型

byte, short, int, long, char, float, double, boolean の8種類

参照型

基本データ型以外の型(=クラス)

C言語

Java言語

構造化

プログラミング

オブジェクト指向

プログラミング

基本データ型

クラス(参照型)

(41)

オブジェクト指向の考え方

データとそのデータを処理する専用のプログラム(メソッド)を一緒にするとメリット大

プログラム

プログラムとデータは別物

・プログラムはデータの特徴(ルール)に注意しないといけない。

(プログラムを書く人はデータ構造の細かい知識が必要)

・誰がいつそのデータを直したのかわかりにくい。

・データ構造を変更するとプログラム処理も変更の影響を受ける。

データ

プログラム

データとそのデータに関連するプログラムを一緒に持つ

・処理する側はデータ側のプログラム(メソッド)に依頼をする。

・データは専用のプログラム(メソッド)が責任を持って修正する。

・データは必ず専用のプログラム(メソッド)が責任を持って修正する。

・データ構造の変更は専用のプログラムが吸収する。

(処理する側(利用者)はデータ構造の変更を意識しなくて良い))

データ

変数Aの値を3に変更

変更します~

専用のプログラム

(担当者)

変更しといてね~

メソッド

従来のプログラミング(構造化プログラミング)

オブジェクト指向プログラミング

Aの値を変更するときには、

まず修正フラグがONになっていないことを確認して、

ONでなければ、修正フラグをONにして

Counter に1足して、

Aの値を修正して、

管理者にメールして

ルール

自分が

書くところ

(42)

(参考)オブジェクト指向の考え方

データにそのデータを処理する専用のプログラム(メソッド)を一緒にした物

処理

データ

専用のプログラム

(担当者)

変更しといてね~

メソッド

オブジェクト指向プログラミング

Aの値を変更するときには、

まず修正フラグがONになっていないことを確認して、

ONでなければ、修正フラグをONにして

Counter に1足して、

Aの値を修正して、

管理者にメールして

修正フラグをOFFにするんだったな。

class Employee {

int 社員番号

String 名前

int 年齢

名前を言う();

仕事をする();

データ部分

メソッド

(データを操作する

専用プログラム)

クラス

クラス:

自分でオリジナルに作ったデータ構造と、

データを操作する専用のプログラム(メソッド)を

(43)

クラスとインスタンス

Javaではプログラマは、クラスを定義することで、自由に型を作成することが出来る

インスタンスの特徴

・具体的な値が入っている。

・メモリ上のどこかに作られる。

・参照されないと消えてしまう。

•クラス:独自の型の定義(設計図、ひな形)

•インスタンス:具体的な値(クラスをnewして作る)

インスタンス:(具体的な値)

Employeeインスタンスをnew演算子を使っ

て2つ作りました。

class Employee {

int 社員番号

String 名前

int 年齢

名前を言う();

仕事をする();

クラス: (設計図、ひな形)

Employeeとはこういう概念ですよ

100

山田太郎

30

名前を言う();

仕事をする();

100

田中花子

20

名前を言う();

仕事をする();

new

new

(たい焼きの型のようなもの)

•あんこ入りたい焼き

•あんこ入りたい焼き

•あんこ入りたい焼き

•クリーム入りたい焼き

クラスという仕組みで、

独自の型を作っていいよー

原子は8種類だけど

分子は原子を組み合わせて

無限に作れるようなイメージ

(44)

基本データ型と変数

変数を定義する際には①変数名と②データ型が必要。

基本データ型の変数は値を直接内部に格納する。

型:int(整数型)

Javaで書くと・・・

int age;

変数名:age

変数の定義

イメージ

変数の使用

=(代入演算子)を使って

具体的な値を入れる

Javaで書くと・・・

age = 20;

age

イメージ

age

結果

ポイント!

基本データ型で定義された変数(箱)には、

「値そのもの」が入っている。

基本データ型の変数には

値がそのまま入っている!

(45)

参照型と変数

変数を定義する際には①変数名と②クラス名が必要。

参照型の変数にはインスタンスをそのまま入れることが出来ない。

参照型の変数には「

インスタンスを置いてある場所

」が格納される。

「クラスからインスタンスを new して、その場所を変数に入れる」という流れ。

型:Employee(クラス)

Javaで書くと・・・

Employee emp1;

変数名:emp1

イメージ

emp1を使用して、あるEmployeeインスタンスを

間接的に

見たり、書き換えたりすることが出来る。

System.out.println(emp1.名前を言う() );

変数の使用

=(代入演算子)を使って

参照値(場所)を入れる

Javaで書くと・・・

emp1 = new Employee();

emp1

イメージ

100

山田太郎

30

名前を言う();

仕事をする();

参照

インスタンスはXXXに

置いてありますよ。

場所:XXX

(XXX)

値の置いてある場所

(住所)が格納されている。

Employee

インスタンス

変数の定義

クラス

Employee

new

参照データ型の変数には

値の置いてある場所が

入っている!

(46)

プログラムの構造

プログラムの構造は3つ

• 順次処理

処理が上から下に順番に流れる

• 分岐処理

条件によって処理の流れを変える

if文

switch文

• 繰り返し(ループ)処理

条件を満たしている間処理を繰り返す

while文 do-while文

for文 拡張for文

(47)

プログラムの構造(順次処理)

処理が上から下に流れている形(普通はこうなる)

処理1

処理2

処理3

処理4

開始

終了

プログラムを処理したい順に書いていく。

(自然と順次処理になる)

(あまり順次処理と言うことを意識しなくて良い)

(48)

プログラムの構造(分岐処理 if文)

Javaで分岐処理を記述する際に使うのが if 文。バリエーションは4通り。

条件1

処理1

Y

N

条件1

処理1

Y

N

処理2

条件1

処理1

Y

N

条件2

Y

N

処理2

条件1

処理1

Y

N

条件2

Y

N

処理2

処理3

if文

if – else 文

if – else if 文

if – else if - else 文

(49)

プログラムの構造(分岐処理 – switch文)

else if の部分はいくつも書くことが出来るが、複雑な処理はわかりにくくなる。

分岐の階層が深くなって分かりにくくなったらswitch文。

Y

N

Y

N

Y

N

Y

N

Y

N

Y

N

If文は 2値(Y or N)分岐なので、

複雑になると分岐の階層が深くなってしまう。

switch文は多値分岐(値によって分岐する)ので、

複雑な場合に、処理がすっきり記述できる。

switch文

すっきり

(50)

プログラムの構造(繰り返し処理 – while文)

while文

for 文

条件1

処理1

Y

N

条件1

処理1

Y

N

do-while文

while文:前判定の繰り返し

do-while文:後判定の繰り返し

for文:w

拡張for文:を簡潔に記述したもの

覚える順序は以下でよい。

1. while文

2. for文

3. 拡張for文

4. do-while文

(51)

(参考)プログラムの構造

プログラムは大きくなるにつれ、全体が把握しにくくなります。

しかし、どんなに大きいプログラムでも以下の3つの繰り返しです

• 順次処理

• 分岐処理

• 繰り返し(ループ)処理

プログラムを書く、読む時には全体の構造を捉えてから

細かく作っていく(読んでいく)ようにしましょう。

(52)

ステップ・アップ

(53)

$ > java Sum 25

繰り返し

て処理をする

入力された整数: N までの合計を表示するプログラム

入力された値をもとに計算する

java

実行結果

1から

25

までの合計: 325

(54)

変数をうまく使って計算してみよう

処理を

考えて

みよう

int sum = 0; // 合計

sum = sum + 1;

sum = sum + 2;

sum = sum + 25;

int sum = 0; // 合計

int count = 1; // 繰り返し回数

sum = sum + 1; count = count + 1;

sum = sum + 2; count = count + 1;

繰り返した回数がわかるようにするには?

1からNまでの合計を求めるには、

sum = sum + ◯;

を N 回繰り返せば良さそう …

繰り返した回数を変数 count に格納

count は繰り返すたびに 1 増える

count が N より大きくなったら終わり

どうすれば計算できるかを

考える。=アルゴリズム

(55)

処理の流れをまとめると …

処理を

考えて

みよう

sum (初期値: 0)

sum に合計を格納

count を 1 増やす

count (初期値: 1)

sum を出力する

count が N より大きい

count が N 以下 (繰り返し条件)

One Point:

Java での繰り返し処理は for 文または while 文をつ

かって記述することができます。

for文:

while文:

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

// 処理

}

while(条件式) {

// 処理

}

繰り返し処理

(56)

for 文

の書き方

for 文の構文

前置式 … 繰り返し処理に必要な前処理式

処理は1回だけ行なわれます

条件式 … 繰り返し処理するかどうかを判定する条件式

条件式の結果は boolean を返す式を書きます

後置式 … 繰り返し処理で必要な後処理式

繰り返しごとに行なわれます

処理の順番をおぼえよう

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

// 処理

}

(57)

処理を 25 回繰り返す場合

for文

で繰り返し処理を

書いてみる

int sum = 0;

for (int count = 1; count <= 25; count = count + 1) {

sum = sum + count;

}

System.out.println( sum );

sum (初期値: 0)

sum に合計を格納

count を 1 増やす

count (初期値: 1)

sum を出力する

count が N=25 より大きい

count が N=25 以下

前置式

後置式

条件式

(58)

プログラムを

完成

させよう

public class Sum {

public static void main(String[] args) {

int limit = Integer.parseInt(args[0]);

int sum = 0;

for (int count = 1; count <= limit; count++ ) {

sum += count;

}

System.out.println("1から" + limit + "までの合計: " + sum);

}

}

引数の値(String)をint型に変換します

Sum.java

(59)

public class Sum {

public static void main(String[] args) {

int limit = Integer.parseInt(args[0]);

int sum =

IntStream.rangeClosed(1, limit).sum();

System.out.println("1から" + limit + "までの合計: " + sum);

}

}

Java SE 8 では こんな書き方も …

プログラムを

完成

させよう

Sum.java

1 から limit までの整数値のデータの集まり

(コレクション) を生成して

合計する

(60)

おつかれさまでした。

1.

Java とは?

Java をとりまくあれこれ。

2.

はじめての Java プログラム

ソースコードを書く→ コンパイル → 実行

3.

ステップ・アップ

データ型と変数の注意点

クラスとインスタンス

処理構造一覧

順次処理

分岐処理

繰り返し処理

本日おはなししたこと

(61)

もっと学習する

には?

(62)

Java の技術情報を入手するには?

Oralce Technology Network > Java テクノロジー

チュートリアルやAPIドキュメントはこちらから

Oralce Technology Network (http://www.oracle.com/technetwork/jp/index.html)

なにはともあれ

ココ!!

(63)

Java の技術情報を入手するには?

ソフトウェアダウンロード

ドキュメント参照

Javaコミュニティー

各種セミナーご案内

メールマガジン

研修/認定試験

(64)

日本語化されたAPIドキュメントを読んでみよう

Javaプログラミングのおともには?

•初めは、どのようなドキュメントがあるか

探してみましょう!

•気になるところを少しずつ

読み深めていきましょう。

(65)

日本語化されたAPIドキュメントを読んでみよう

Javaプログラミングのおともには?

•よりどころはAPIドキュメント。

エンジニアはみんなこれを読んでいる!

•クラス(提供されている部品)の仕様や

使い方などは全てここに記述されている。

•研修/書籍/Webなどで知識を付けつつ

勉強の際にはAPIドキュメントの中に

用意されているメソッドを色々試してみる。

•自分が作ったクラスからAPIドキュメントを

作成して第三者に提供も可能。

(JavaDoc ユーティリティーで作成)

なにはともあれ

ココ!!

(66)

Java の技術情報を入手するには?

Java関連技術

Cloudプラットフォーム

JavaEE

WebLogic Server

最新事例

各種イベント

(67)

Java SE 8 プログラミング I

はじめ

肝心

Java プログラミング

しっかり学

ぼう

オラクルユニバーシティでは、Java によるオブジェクト指向プログラミングを体系的に学習することができる研

修コースを提供しています。わかりやすい講義と実機演習を通して Java プログラミングの勘所をじっくり・しっ

かり身につけることができます。

コース 概要 このコースでは、Java の概要 および Java 言語の基本文法について習 得します。クラスとオブジェクト、カプセル化、継承、ポリモフィズムなど、 オブジェクト指向プログラミングの基本知識およびテクニックについて 実習を通して学習します。また、例外処理や基本的なライブラリの使 用方法(ラムダ式を含む)についても学習します。 学習 内容  Java プログラミングの概要と基本構文  クラスやメソッドの定義  クラスの継承とインタフェースの使用  オーバーライドとポリモーフィズム  例外処理

 Date and Time API の基礎

 インタフェースのデフォルトメソッドの使用  ラムダ式の基礎

日数

日間

Learn

Oracle

from

Oracle

Java SE 8 プログラミング II

コース 概要 このコースでは、コレクション・フレームワーク、ファイル入出力、並列処 理およびJDBCによるデータベースアクセスなどJavaコアAPIを使ったプロ グラミングついて学習します。コレクション・フレームワークやスレッド処 理、ファイルI/OやNIO.2、およびFork/Joinフレームワークを使用した並 列プログラミングやローカライゼーションについて実習を通して学習す ることができます。 学習 内容  コレクション・フレームワークの理解  ラムダ式の使用  スレッドを使った並列処理とFork/Joinフレームワーク  ストリームを使用したファイル・アクセス  NOI.2を使用したファイル・アクセス  JDBC APIを使用したデータベース・アクセス  ローカライゼーション 日数

日間

(68)

Java SE 7 New Features

Java SE 8

までを

一気

キャッチアップ。

オラクルユニバーシティでは、Java SE 7 / 8 の新機能を効率的に学習することができる研修コースを提供して

います。Java SE 7 / 8 で加わった新機能をわかりやすい講義と実機演習を通してをじっくり・しっかり身につけ

ることができます。

コース 概要 このコースではJava SE 7の主な変更点と新機能の詳細を説明します。 このコースはJava SE 6あるいはそれ以前のバージョンのJava SEを使用 した開発経験があるJava技術者が対象になります。コースの受講者は、 Java SE 7の変更点と新機能を深く理解し、Java SE 7を使用したアプリ ケーション開発を行えるようになります。 学習 内容  言語仕様に対する小さな変更(JSR 334)  動的言語呼び出しのサポート(JSR 292)  並行処理とコレクションにおける拡張(JSR 166Y)  ネットワークとファイルシステムアクセスに関する拡張 (JSR 203)  JDK 7におけるその他の拡張 日数

日間

Learn

Oracle

from

Oracle

Java SE 8 新機能

コース 概要

このコースでは、Java SE 8の主要な変更点および機能拡張について詳 しく学習します。新機能の概要を理解するとともに、ラムダ式、コレク ションを操作するためののStream API、日時操作のための新しい Data and Time APIの使用方法を学習することができます。

学習 内容  Java SE 8での変更点の概要  関数型インタフェースとラムダ式  java.util.funcation パッケージ  Stream API によるコレクション操作  並列 Stream

 Date and Time APIの使用

 Nashornを使用したJavaでのJavaScript処理  Mission Control および Flight Recorder の概要

(69)

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

Oracle 認定 Java 資格

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

機能実装が行えるレベル

(中上級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言語の基本文法(変数宣言や制御文)とクラスやメ ソッドの定義などJavaプログラミングの基本を理解しているかどうかが 主な出題項目です。言語初学者が理解するべき基礎項目を理解して いることを証明します。

Oracle Certified

Java Programmer,

Gold

SE 8

Oracle Certified

Java Programmer,

Silver

SE 8

Oracle Certified

Java Programmer,

Bronze

SE 7/8

「なんとなく書ける」から「理解し

て書ける」へ

標準に準拠した確かな実装スキルは、生

産性や保守性の向上に貢献することがで

きます。

Oracle 認定 Java 資格は、Java プログラミ

ングスキルを客観的に証明する世界共通

の認定資格です。

Java SE プログラミング・スキルを

網羅的に証明

Bronze

,

Silver

,

Gold

とスキルを段

階別に認定

(70)

「実務で役立つ資格」

「キャリア形成に役立つ資格」

1

新バージョンの試験を

選択する受験者の割合

資格試験の受験者数

2013 年から 3 年間で約 2 倍に

Oracle 認定 Java 資格

価値

#

1

【出典】IT技術資格に関する意識調査 - 株式会社アイ・ティ・アール (2016 年)

x

2

98

%

Java SE 資格試験に占める Java SE 7/ 8 試験受験者の割合 (2016 年)

本資格試験は単に資格を取得して終わるようなものではなく、

実務にも活用できる

非常に実践的な内容

になっていると思います。

OCJP Gold 資格試験はデザインパターンの基礎もその試験範囲に入っているため

コーディングスタイルを初めとした

開発標準を規定する

アーキテクトといった

指導的

な立場にある場合に、自分の力を客観的にはかる道具

として取っておくことには大

きな メリットがあると思います。

単純に Java の文法を丸暗記しただけでは取得できないものとなっています。体当た

りで覚えざるをえなかった Java 文法などを

体系的に学ぶ

ことで平均的な Java プログ

ラマから頭一つ抜けた存在になれると思います。

【資格取得者の声】

(71)

Safe Harbor Statement

The preceding is intended to outline our general product direction. It is intended for

information purposes only, and may not be incorporated into any contract. It is not a

commitment to deliver any material, code, or functionality, and should not be relied upon

in making purchasing decisions. The development, release, and timing of any features or

functionality described for Oracle’s products remains at the sole discretion of Oracle.

(72)
(73)
(74)

参照

関連したドキュメント

AC100Vの供給開始/供給停止を行います。 動作の緊急停止を行います。

父親が入会されることも多くなっています。月に 1 回の頻度で、交流会を SEED テラスに

・カメラには、日付 / 時刻などの設定を保持するためのリチ ウム充電池が内蔵されています。カメラにバッテリーを入

基準の電力は,原則として次のいずれかを基準として決定するも

ƒ 、または Arduinoのリセットボタン”oƒ、2 }~x してか らコマンド @2 しま Q*した Arduino す。 プログラムを Arduino に…き:む Äsについては「

スマートグリッドにつきましては国内外でさまざまな議論がなされてお りますが,

捕獲数を使って、動物の個体数を推定 しています。狩猟資源を維持・管理してい くために、捕獲禁止・制限措置の実施又

学側からより、たくさんの情報 提供してほしいなあと感じて います。講議 まま に関して、うるさ すぎる学生、講議 まま