java - 日本オラクル

Say Hello to Java
はじめての Java プログラミング
日本オラクル株式会社
オラクルユニバーシティ
担当マネージャ
岡田 大輔
Java Day Tokyo 2015
2015年4月8日
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。
また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むこ
とはできません。以下の事項は、マテリアルやコード、機能を提供することを
コミットメント(確約)するものではないため、購買決定を行う際の判断材料
になさらないで下さい。オラクル製品に関して記載されている機能の開発、リ
リースおよび時期については、弊社の裁量により決定されます。
OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
4
本日おはなしすること
1
Java プログラミングをはじめるには?
2
はじめての Java プログラム
3
ステップ・アップ
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
5
Java プログラミングをはじめるには?
プログラミングの準備をしましょう
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
6
プログラミング言語および
コンピューティングプラッ
トフォームで最先端のプロ
グラムの基礎となっている
テクノロジーです
世界中の個人用コンピュータや、何十
億台ものデバイス (モバイルデバイスや
TV など) で動作しています
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
7
Java の 2 つの側面
プログラミング言語とプラットフォーム
• プログラミング言語 … 『開発しやすい』
プログラミング言語
– 従来のプログラミング言語の
良いところ取りです
プログラミング言語
• プラットフォーム … 『どこでも動く』
– 実行環境 (Java Runtime Environment)
• プラットフォームに依存しない
実行環境 (JVM) を提供します
開発環境
実行環境
– 開発環境 (Java Development Kit)
• プログラミングに必要なツール群が
無償で利用できます
プラットフォーム
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
8
プログラミングに 必要なもの は?
開発環境を準備しましよう
• ソースコードを記述するもの
– テキストエディタなどでソースコードを記述できます
• ソースコードから実行ファイルを生成するもの
– コンパイラなどを含む開発環境を使用します
開発環境
ソースコード
コンパイラ
実行ファイル
※プログラムが書かれたファイルをソースコードと呼びます
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
9
開発環境 としての Java
必要なものは JDK として提供されます
実行環境
(Java Runtime Environment)
ソースコード
ドキュメント生成
(javadoc)
Javaプログラムを実行する
実行ファイル ためのコマンドが含まれて
います
コンパイラ
(javac)
実行
(java)
開発環境
(Java Development Kit)
APIドキュメント
Javaプログラミングに必要なツー
ル (コンパイラやドキュメント生
成ツール、実行コマンド) が含ま
れています
JVM
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
10
JDK を入手するには?
Oracle Technology Network から無償で入手できます
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
11
JDKを インストール しましょう
ウィザードの指示に従えば大丈夫。
Windows インストーラでは
JDK(開発ツール) と JRE を
個別に インストール できます
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
12
統合開発環境 (IDE) とは?
プログラミングを「かんたん」にしてくれるソフトウェアです
• ソースコードを記述するエディタやコンパイラ
などの開発環境をひとつの画面から利用できる
ソフトウェアです
– IDEから必要なツールを使うことができます
– コード補完機能などプログラミングをサポート
する便利な機能も提供されます
• 代表的なIDE
– NetBeans ( http://ja.netbeans.org/ )
– IntelliJ IDEA ( http://www.jetbrains.com/idea/ )
– Eclipse ( http://www.eclipse.org/ )
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
13
はじめての Java プログラム
Say Hello to Java
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
14
Helloworld
世界一有名なプログラムを Java で作ってみよう
• 画面に文字列を表示するプログラムを作ってみましょう
– 初めてのサンプルプログラムとして多くのプログラミング言語で作られる文
字列を表示するプログラムです
– なぜ Helloworld ?
• 伝統的にこの文字列が使われています (特に意味はないようです  )
Hello Java!
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
15
おさらい: Javaプログラミングの流れ
3つのステップでプログラミングします
①ソースコード
を書く
ソースコード
②ソースコード
をコンパイルす
る
コンパイラ
(javac)
③プログラムを
実行する
実行ファイル
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
実行
(java)
JVM
16
①ソースコードを 書く
テキストエディタで書いてみましょう
ファイル名は「クラス名.java」
で保存しましょう
Helloworld.java
クラス名
public class Helloworld {
public static void main(String[] args) {
System.out.println("Hello Java!");
}
}
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
One Point:
ソースコードでは半角文字
と全角文字は区別されます。
英数字は半角文字を使いま
しょう
17
①ソースコードを書く
Javaプログラムはクラスという単位で構成されます
Helloworld.java
Helloworldというクラスの定義
public class Helloworld {
javaコマンドでプログラムを実行するときに呼び出す処理の定義 (mainメソッド)
public static void main(String[] args) {
System.out.println("Hello Java!");
}
}
プログラムとして実行される処理の内容
→ 「 Hello Java ! という文字列を画面に表示しなさい」
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
One Point:
文字列を表示するときは 文字
列を「" (ダブルクォーテー
ション)」で囲みましょう
18
②ソースコードを コンパイル する
クラスファイル (実行ファイル) を生成します
Helloworld.java
javac
Helloworld.class
One Point:
生成された実行ファイルは
クラスファイルと呼びます
One Point:
Windows 環境などで javac コマンドが
見つからない場合は環境変数 PATH の
設定を確認しましょう
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
19
②ソースコードをコンパイルする
コンパイルがうまくいかない場合は?
One Point:
コンパイルに失敗すると失敗の
原因が表示されます。ソース
コードを確認してみましょう。
タイプミスを修正してもう一度
コンパイルしましょう
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
20
③プログラムを 実行する
クラスファイルを実行してみましょう
Helloworld.class
java
Hello Java !
One Point:
javaコマンドを実行するときに
はクラス名を指定します
(拡張子 .class は指定しません)
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
21
IDE を使う場合は? - NetBeans編
IDE の構成画面を覚えましょう
One Point:
NetBeansでは作成するプログラ
ムをプロジェクトという単位で
管理しています。
プロジェクト
作成
プロジェクト・ウィンドウには
作成したソースコード(.javaファ
イル)が表示されます。
プロジェクト
ウィンドウ
エディタ
ウィンドウ
出力
ウィンドウ
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
エディタ・ウィンドウにはソー
スコードを編集することができ
ます。
出力ウィンドウにはプログラム
の実行結果などが表示されます。
22
① プロジェクト を作成する
プログラムを管理するためのプロジェクト作成しましょう
Javaアプリケーション
を選択
メイン・クラスの作成は
任意で選択
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
23
②クラス を作成する
プロジェクト内にクラスを作成しましょう
クラス名は大文字小文字が
区別されるので注意しましょう
実際のプログラム開発時は
パッケージを指定しましょう
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
24
③ソースコードを 書く
プログラムで実行したい処理を書きましょう
One Point:
作成したプログラムのクラスと
mainメソッドは自動的に定義さ
れています。
エディタ・ウィンドウではmain
メソッドの中にプログラム実行
したい処理を記述していきます。
NetBeansではコード補完機能が
あるので効率的にプログラミン
グを行うことができます。
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
25
③ソースコードを書く
コンパイルエラーになるコードを書いてしまったら?
One Point:
NetBeansではプログラムに不備
があってコンパイルエラーにな
る場合は、赤い波線とアイコン
が表示されます。
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
26
④プログラムを 実行する
プログラムを実行してみましょう
[プロジェクトを実行]
でも実行可能です
ファイルの実行を選択すると
プログラムを実行できます
One Point:
プログラムを実行すると結果が
出力ウィンドウに表示されます。
One Point:
NetBeansではファイル保存時に
コンパイルが行われているため
明示的にコンパイルをしなくて
もプログラムを実行可能です。
(明示的にコンパイルすることも
できます
)
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
27
ステップ・アップ
処理を考えてみよう
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
28
ステップ1. 計算 してみよう
• 次の式の計算結果を画面に表示しよう
(256 × (64 + 128)) - 8192
+ (32 × 1024) ÷ 512 -
512 = ?
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
29
プログラムで書くと …
計算結果を出力するプログラム
Calc.java
Javaプログラムでは、かけ算は
「*」 、わり算は 「/」で記述
します
public class Calc {
public static void main(String[] args) {
System.out.println(
(256 * (64 + 128)) – 8192 + (32 * 1024) / 512 - 512
);
}
プログラムとして実行される処理の内容
→ 「 式の計算結果 を画面に表示しなさい」
}
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
30
プログラムで書くと …
計算式はどう処理されている?
Calc.java
public class Calc {
public static void main(String[] args) {
System.out.println(
処理は左から右に行われます
(256 * (64 + 128)) – 8192 + (32 * 1024) / 512 - 512
①
);
}
}
②
③
④
⑤
Javaでは四則演算子以外にも
演算子を使うことができます
One Point: 計算の優先順 (おさらい)
1. カッコで括られた場所
2. 累乗 (2乗など)
3. 乗除算 (かけ算とわり算)
4. 加減算 (たし算とひき算)
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
31
プログラムを実行する
コンパイルして実行する
Calc.java
javac
Calc.class
java
40512
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
32
変数 を使う
計算結果をプログラム内でもう一度使うには?
• 変数 (へんすう) とは?
– データを格納し、必要なときに利用できるようにするための名前 (識別子)
x という変数には
40512 という値が格納されます
40512
x
One Point: 変数名のきまり
• 文字は、英字か数字か「_」か「$ 」
• 先頭は英字か「_」か「 $」で始める
変数名は半角英数字を使うようにしましょう
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
33
変数を 宣言 するには?
変数にはデータ型(=扱うデータのサイズ)を指定します
One Point:
Javaで使える主なデータ型は次のとおりです
(表に書かれているデータ型を基本データ型といいます)
int x = 40512;
データ型
データサイズ
byte
8bit
short
16bit
int
32bit
long
64bit
float
32bit
double
64bit
文字
char
16bit
論理
boolean
(8bit)
整数
変数には必ずデータ型を指定しましょう
データ型 … データのサイズ (値の範囲)
浮動小数点数
文字列は String 型 というデータ型として扱います
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
34
変数を使った プログラムを書く
Calc.java
public class Calc {
public static void main(String[] args) {
int x = (256 * (64 + 128)) – 8192 + (32 * 1024) / 512 – 512;
System.out.println("計算結果: " + x );
変数への代入は 式 を指定しても
OK (式の計算結果が代入される)
}
}
変数の値にアクセスするときは
変数名を指定します
One Point:
System.out.println()メソッドでは、文字列と
整数型は + 演算子で連結できます
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
35
ステップ2. Say
Hello to Duke
プログラムに値を渡して実行しよう
• 引数 (ひきすう)とは?
– プログラムに渡すことができる値 ( Java コマンド実行時などに指定できる)
java
$ > java SayHello Duke
プログラム実行時の引数はクラス名の後ろに
スペースをあけて記述します
Duke
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
36
java コマンド実行時の 引数の行方
main メソッドにわたされます
java
$ > java SayHello Duke
java コマンドの引数は 文字列 (String)
でプログラムにわたされる
public class SayHello {
public static void main(String[] args) {
// 処理
}
mainメソッドに String[] 型の変数 args が宣言されている
}
→ mainメソッド内で args を使うことができる
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
37
String [] ?
配列
• 配列(はいれつ)とは?
– 同じデータ型の変数を複数個並べたもの (データの個数は作成時に指定)
"Duke"
"Candy"
"東京"
One Point:
配列は次のように作成します
String[] args
[0]
[1]
[2]
配列はデータを複数持つことができるのでデータを
指定するときに変数名の後ろに添字(インデックス)
を指定します。添字は 0 から始まります。
int[] num = new int [3];
mainメソッドの引数 String[] args はプログラ
ム実行時に作成され、 java コマンドの引数で
指定した文字列が格納されます
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
38
プログラムを 完成 させよう
引数を表示するプログラム
SayHello.java
クラス名
public class SayHello {
public static void main(String[] args) {
System.out.println("Hello " + args[0] + " !");
}
ひとつ目の引数にアクセスするので
}
args の添字は [0] を指定します
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
39
プログラムを実行する
SayHello.java
javac
SayHello.class
java
○○
Hello ○○ !
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
40
ステップ3. 繰り返し て処理をする
入力された値をもとに計算する
• 入力された整数: N までの合計を表示するプログラム
java
$ > java Sum 25
実行結果
1から25までの合計: 325
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
41
処理を考えてみよう
変数をうまく使って計算してみよう
int
sum
sum
…
sum
sum = 0;
= sum + 1;
= sum + 2;
// 合計
1からNまでの合計を求めるには、
sum = sum + ◯;
を N 回繰り返せば良さそう …
= sum + 25;
繰り返した回数がわかるようにするには?
int
int
sum
sum
…
sum =
count
= sum
= sum
0;
// 合計
= 1; // 繰り返し回数
+ 1; count = count + 1;
+ 2; count = count + 1;
繰り返した回数を変数 count に格納
count は繰り返すたびに 1 増える
count が N より大きくなったら終わ
り
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
42
処理を 考えて みよう
処理の流れをまとめると …
sum (初期値: 0)
count (初期値: 1)
繰り返し処理
count が N 以下 (繰り返し条件)
One Point:
Java での繰り返し処理は for 文または while 文をつ
かって記述することができます。
for文:
for(前置式; 条件式;
// 処理
}
後置式) {
sum に合計を格納
while文:
count を 1 増やす
sum を出力する
count が N より大きい
while(条件式) {
// 処理
}
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
43
for 文 の書き方
処理の順番をおぼえよう
• for 文の構文
①
④
for(前置式; 条件式;② 後置式) {
// 処理
} ③
– 前置式 … 繰り返し処理に必要な前処理式
• 処理は1回だけ行なわれます
– 条件式 … 繰り返し処理するかどうかを判定する条件式
• 条件式の結果は boolean を返す式を書きます
– 後置式 … 繰り返し処理で必要な後処理式
• 繰り返しごとに行なわれます
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
44
for文で繰り返し処理を 書いてみる
処理を 25 回繰り返す場合
sum (初期値: 0)
前置式
count (初期値: 1)
count が N=25 以下
sum に合計を格納
count を 1 増やす
sum を出力する
条件式
int sum = 0;
for (int count = 1; count <= 25; count = count + 1) {
sum = sum + count;
}
System.out.println( sum );
後置式
count が N=25 より大きい
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
45
プログラムを完成させよう
Sum.java
public class Sum {
引数の値(String)をint型に変換します
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);
}
}
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
46
プログラムを 完成 させよう
Java SE 8 では こんな書き方も …
Sum.java
public class Sum {
public static void main(String[] args) {
int limit = Integer.parseInt(args[0]);
合計する
int sum = IntStream.rangeClosed(1, limit).sum();
1 から limit までの整数値のデータの
集まり (コレクション) を生成して
System.out.println("1から" + limit + "までの合計: " + sum);
}
}
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
47
プログラムを実行する
Sum.java
javac
Sum.class
java
25
合計: 325
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
48
NetBeans でプログラムを実行する
プログラムの実行時に引数を指定するには
プロジェクトを構成を設定(N)
を選択します
メイン・クラス(M)に実行する
クラス、引数(A)に引数を指定
します
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
49
NetBeans でプログラムを実行する
[プロジェクトを実行] から実行します
One Point:
プログラム実行時に引数を指定
する場合は、必ず [プロジェク
トから実行] を選択します。
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
50
もっと学習するには?
Java の技術情報はどこを見ればいい?
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
51
Java の技術情報を入手するには?
Oralce Technology Network
• Oralce Technology Network > Java テクノロジー
– チュートリアルやAPIドキュメントはこちらから
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
52
Javaプログラミングのおともには?
日本語化されたAPIドキュメントを読んでみよう
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
53
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
54
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
55