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

標準ライブラリ

N/A
N/A
Protected

Academic year: 2021

シェア "標準ライブラリ"

Copied!
46
0
0

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

全文

(1)

jp-10. 標準ライブラリ

(Java 体験学習シリーズ)

1

金子邦彦

(2)

アウトライン

10-1 復習

10-2 repl.it を使ってみる

10-3 時間,スリープ

10-4 疑似乱数

10-5 マルチスレッド

• 標準ライブラリ

の機能のうち,

時間,スリープ,疑似乱数,マ

ルチスレッドの機能を知る

• 標準ライブラリ

の機能を使うと

き,標準ライブラリのクラスを

継承して使う場合があることを

知る.

2

(3)

Java の標準ライブラリの機能

• コレクション (ArrayList, HashMap など)

• ラッパクラス

• 文字列の操作

• ファイルの操作

• その他

• 標準入出力 • 数値処理 • スレッド • 時間,タイマー • 疑似乱数 • ファイル読み書き

3

(4)

10-1.復習

(5)

Java のオブジェクトの生成

次の2つの

オブジェクト

を生成する

Java プログラム

• このとき,次の

クラス

を使うことにする

5

a 1 2 "red" b 3 4 "green" x 5 6 "blue" 1 x y color r

クラス名 Ball

属性 x, y, color

クラス名 Circle

属性 x, y, color, r

(6)

クラスの類似性

• 2つの

クラス

を考える

Ball

Circle

属性

属性

x

x

y

y

color

color

r

メソッド

move

move

reset

reset

6

全く同じ 追加

(7)

クラスの類似性

Ball

Circle

7

全く同じ 追加 2つのクラスのプログラム

(8)

問いかけ

8

全く同じ 追加

Ball

Circle

同じようなプログラムを繰り返し書きたいですか? -> No. クラス階層により解決

(9)

クラスの親子関係

• クラス①が

,クラス②が

であるとき

• クラス②は,クラス①の属性メソッドすべて持つ • クラス②で,クラス①にない属性メソッド追加さ れることがある

9

クラス① クラス② 親 子 クラスBall クラスCircle 親 子 属性 r を追加 まとめページ

(10)

親クラスからの継承

クラス名 Ball 属性 x, y, color メソッド move, reset

10

クラス名 Circle 属性 x, y, color, r メソッド move, reset クラス Circle は,親クラスあるクラス Ball の属性 ソッド継承する. class Ball { double x; double y; String color;

public Ball(double x, double y, String color) {

this.x = x; this.y = y;

this.color = color; }

public void move(double xx, double yy) {

this.x = this.x + xx; this.y = this.y + yy; }

public void reset() { this.x = x;

this.y = y; }

}

class Circle extends Ball { double r;

public Circle(double x, double y, String color, double r) {

super(x, y, color); this.r = r;

} }

(11)

Java でのクラスの親子関係の書き方

11

クラス階層を使わない (同じようなプログラムを繰り返す) クラス階層を使う 次ページに拡大図 Ball Circle Ball Circle 働きは 同じ

(12)

Java でのクラスの親子関係の書き方

12

親子関係の指定「class Circle extends Ball」

子クラスである Circle で追加される

属性メソッドは書く

コンストラクタは書く.

super(x, y, color) により,親クラス

(13)

10-2.repl.it を使ってみ

(14)

オンライン開発環境 repl.it

• プログラミングを行える Web サービス

https://repl.it/

• ウェブブラウザを使う

• たくさんの言語を扱うことができる

Python3, Java, C/C++, C#, JavaScript, R,

SQLite など

(15)

repl.it で Java を動かす手順

① ウェブブラウザを起動する

② 次の URL を開く

https://repl.it/

(16)

③ 「Languages」のところで,「Java」を選ぶ

(17)

エディタ画面 実行ボタン プログラムを 書き換えること ができる

17

端末画面 実行手順や 結果が表示される

(18)

実習の指示

• 資料:19~24

• 次のことを理解しマスターする

• repl.it の使い方

(19)

①エディタに次のように入れ,実行し,実行結果を

確認する

System.out.

printf("%d", 3*2);

すべて半角文字 「*」は掛け算の記号

19

(20)

20

動くボール 5 6 速度(1,1) いまから 行うこと ボールの 9秒間の動き の計算

(21)

21

② エディタで,今のプログラムをすべて消したのち,次のように入れる

(22)

22

続けて,次のように入れる

(23)

23

続けて,次のように入れ,実行し,実行結果を確認する

(24)

24

指示:プリントの問1を解きなさい

(25)

10-3.時間,スリープ

(26)

Java で現在日時の取得

26

(27)

スリープ

• パソコンの処理を,一定時間止

めたいことがありますか?

Yes

ゲームでのタイミング

一定間隔での監視

27

(28)

Java でタイマー

28

標準ライブラリ内のクラス Thread を使用 2秒止まる 「2000」 とあるのは ミリ秒単位

(29)

実習の指示

• 資料:30~33

• 次のことを理解しマスターする

• スリープ

(30)

30

① エディタで,1秒待つためのプログラムを書き加える

try {

Thread.sleep(

1000

);

(31)

31

② 実行し,結果を確認する

表示は変わらないが, 1つ表示のたびに,

(32)

③ 現在日時の表示プログラムを書き加える

32

java.time.LocalDateTime d;

d = java.time.LocalDateTime.now(); System.out.println(d);

(33)

33

② 実行し,結果を確認する.現在日時も表示されるように なる

(34)

10-4.疑似乱数

(35)

疑似乱数

• コンピュータの計算によって算出されたランダム

な数のこと

35

ランダム. そして,実行のたびに 違う値が表示される

(36)

実習の指示

• 資料:37~38

• 次のことを理解しマスターする

• Javaでの疑似乱数の算出

(37)

37

① ボールの位置を疑似乱数で設定するためのプログラムを書

き加える

java.util.Random r = new java.util.Random();

MovingBall a = new MovingBall(r.nextInt(

10

),

r.nextInt(

10

), "blue", 1, 1);

(38)

38

② 実行し,結果を確認する

ランダムなので, 実行のたびに

(39)

10-5.マルチスレッド

(40)

スレッド

• スレッド

とは,処理の流れのこと.

• 複数の処理を並行させたいときには,

マルチス

レッド

(複数のスレッド)で処理を行う

(41)

Java でのマルチスレッド

別スレッドで動かしたいプログラム

41

処理の

本体

標準ライブラリのクラス Thread を継承

上のプログラムを別スレッドで起動

(42)

実習の指示

• 資料:43~44

• 次のことを理解しマスターする

• Java のマルチスレッドのプログ

ラミング

(43)

43

① 「3秒ごとに Hello と表示するプログラム」を別スレッド

で動かしたい.そのために,Hello クラスを定義する次のプ

(44)

44

② ①のプログラムを別スレッドで起動するために,

(45)

45

③ 実行し,結果を確認する

(46)

46

参照

関連したドキュメント

スライダは、Microchip アプリケーション ライブラリ で入手できる mTouch のフレームワークとライブラリ を使って実装できます。 また

 複雑性・多様性を有する健康問題の解決を図り、保健師の使命を全うするに は、地域の人々や関係者・関係機関との

実際, クラス C の多様体については, ここでは 詳細には述べないが, 代数 reduction をはじめ類似のいくつかの方法を 組み合わせてその構造を組織的に研究することができる

本時は、「どのクラスが一番、テスト前の学習を頑張ったか」という課題を解決する際、その判断の根

我々は何故、このようなタイプの行き方をする 人を高貴な人とみなさないのだろうか。利害得

• AF/AE ロック機能を使って、同じ距離の他の被写体にピントを 合わせてから、構図を変えてください(→ 43 ページ)。. •

 階段室は中央に欅(けやき)の重厚な階段を配

購読層を 50以上に依存するようになった。「演説会参加」は,参加層自体 を 30.3%から