24
XMLPro 19 回回 1

基礎構文班19回目 変数のスコープとforの並び替え

Embed Size (px)

Citation preview

Page 1: 基礎構文班19回目 変数のスコープとforの並び替え

XMLPro 19 回目

1

Page 2: 基礎構文班19回目 変数のスコープとforの並び替え

前回の復習クラス

2

Page 3: 基礎構文班19回目 変数のスコープとforの並び替え

クラスやりました他のクラスを作成し、メソッドやフィールドを作成したとき、 main クラスでクラス名 変数名 = new クラス名 ();

( オブジェクト名 )で使用準備変数名 . メソッド名 ();変数名 . フィールド名 ();で使用できます3

Page 4: 基礎構文班19回目 変数のスコープとforの並び替え

クラスやりました

4

Page 5: 基礎構文班19回目 変数のスコープとforの並び替え

5

Page 6: 基礎構文班19回目 変数のスコープとforの並び替え

で好きなようにクラスとメソッド作ってみてー 話でした今回は ICPC 間近なので・・・

6

Page 7: 基礎構文班19回目 変数のスコープとforの並び替え

本日の内容ICPC 問題変数のスコープ for 文の並び替え 下のメモ帳からコピペして実行してみてください

7

Page 8: 基礎構文班19回目 変数のスコープとforの並び替え

for 文での並び替えこいつを実行すると配列がソートされるらしい?

8

Page 9: 基礎構文班19回目 変数のスコープとforの並び替え

というわけで処理の詳細をでるようにしてみたこれを実行すれば中の処理がわかります

9

Page 10: 基礎構文班19回目 変数のスコープとforの並び替え

実行結果

10

   →

   →処理の回数が減ってる理由わかるよね?         →

         →

左から小さい順に配列の数を入れてます

, は気にしないでorz

Page 11: 基礎構文班19回目 変数のスコープとforの並び替え

• test[0] と test[1],[2],[3],[4] を比較最も小さいものを test[0] に• test[1] と test[2],[3],[4] を比較2 番目に小さいものを test[1] に• test[2] と test[3],[4] を比較3 番目に小さいものを test[2] に• test[3] と test[4] を比較4 番目に小さいものを test[2] に・・

11

Page 12: 基礎構文班19回目 変数のスコープとforの並び替え

逆向きにソートするプログラムすぐ書ける?• 一番大きい数を左側に移動すればよくね?

12

Page 13: 基礎構文班19回目 変数のスコープとforの並び替え

変数のスコープとはプログラミングでのスコープとは、ある変数や関数が特定の名前で参照される範囲のこと。 どういうことかというと・・・

                    \19800

13

Page 14: 基礎構文班19回目 変数のスコープとforの並び替え

有効範囲のことです• if 文や for 文の中で変数を宣言したとき、その変数が扱える有効範囲はその構文の中まで• メソッドの中でメインメソッドと同じ名前の変数の値を変化させてもメインメソッドの変数は変化しない

14

Page 15: 基礎構文班19回目 変数のスコープとforの並び替え

スコープ : if

例 1)

15

Page 16: 基礎構文班19回目 変数のスコープとforの並び替え

スコープ : for

例 2)

16

Page 17: 基礎構文班19回目 変数のスコープとforの並び替え

スコープ : for

例 3)

17

Page 18: 基礎構文班19回目 変数のスコープとforの並び替え

スコープ : メソッド例 4)

18

Page 19: 基礎構文班19回目 変数のスコープとforの並び替え

今週末 金曜は ICPC です!!台風 8 号? しらんな 

19

Page 20: 基礎構文班19回目 変数のスコープとforの並び替え

ICPC 問題やってみようhttp://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1141&lang=jp

スコープに気をつけて~split() とファイル読み込みを使ってまず配列に格納しよう

20

Page 21: 基礎構文班19回目 変数のスコープとforの並び替え

File 読み込み Scanner バージョン

21

Page 22: 基礎構文班19回目 変数のスコープとforの並び替え

split()

• String クラスの split() メソッドは与えられた文字列を分割してくれます• Javadoc より–文字列を引数に指定した正規表現に従い、分割します。分割された文字列は

String の配列として返されます。

22

Page 23: 基礎構文班19回目 変数のスコープとforの並び替え

使い方

“” の中に半角スペース入れると半角スペースごとに区切れる “ \n” で行ごとに区切る  実行結果→

23

Page 24: 基礎構文班19回目 変数のスコープとforの並び替え

ICPC 頑張ってください !!

ノシ

24