46
XMLPro 5 回回

基礎構文班 5回目 繰り返し

Embed Size (px)

Citation preview

Page 1: 基礎構文班 5回目 繰り返し

XMLPro 5 回目

Page 2: 基礎構文班 5回目 繰り返し

前回の復習

2

Page 3: 基礎構文班 5回目 繰り返し

前回の復習 1

• scanner を利用して文字を入力した

• if を利用して条件によって処理を分岐させた

Page 4: 基礎構文班 5回目 繰り返し

前回の復習 2

4

Page 5: 基礎構文班 5回目 繰り返し

import java.util.Scanner;// インポート

Scanner s=new Scanner(System.in);//s も変数名

型名 変数名 =s.nextInt();

で文字が入力できる

5

Page 6: 基礎構文班 5回目 繰り返し

前回の復習 3

6

Page 7: 基礎構文班 5回目 繰り返し

if( 条件 A){条件 A が真の時に実行される処理

} else if( 条件 B){条件 B が真の時に実行される処理

}else{条件 AB ともに真では無いときに実行される

処理}もし条件が真であれば { } 内の処理を実行する

7

Page 8: 基礎構文班 5回目 繰り返し

本日の内容

BufferedReader繰り返し

8

Page 9: 基礎構文班 5回目 繰り返し

の前に…• Eclipse の便利な機能を使ってますか??

• sysout CTRL+ スペースキーで• System.out.println() ;←これが出てきます

9

Page 10: 基礎構文班 5回目 繰り返し

クラス作成の時に

10

Page 11: 基礎構文班 5回目 繰り返し

• チェックを入れると自動で

public static void main(String[] args) { }↑書いてくれます

11

Page 12: 基礎構文班 5回目 繰り返し

• 便利な機能は使っていきましょう !

12

Page 13: 基礎構文班 5回目 繰り返し

パッケージの作成• ダンボールみたいなやつをクリック

13

Page 14: 基礎構文班 5回目 繰り返し

名前を入力して完了今回は xmlpro0515 とします ( なんでもいいです )

完了がでない↓

XMLPro2014/srcを選択して反転

もしくはソース・ フォルダの指定

14

Page 15: 基礎構文班 5回目 繰り返し

• 先ほど作成したパッケージをクリックして選択した状態で

クラスを作成します

15

Page 16: 基礎構文班 5回目 繰り返し

クラスの作成• 新規 java クラスを選択

16

Page 17: 基礎構文班 5回目 繰り返し

クラスの作成 2

• クラス名を入力

• クラス名はお好きにどうぞ →クラス名の頭文字は大文字 !! Lesson1, Sample1, とか今回の最初は Buffered とかでもよい小文字でもエラーはおこらない

17

Page 18: 基礎構文班 5回目 繰り返し

BufferedReader

• 前回は Scanner をやった

• この 2 つに大きな違いは無い• 書く量が違うくらい

• 正確には実行速度に差があるがほぼ無いに等しい

18

Page 19: 基礎構文班 5回目 繰り返し

import java.io.*;class クラス名 {

public static void main(String[] args) throws IOException {

BufferedReader br=new BufferedReader(new Input

StreamReader(System.in));

String str=br.readLine();int num=Integer.parseInt(str);

}} 19

Page 20: 基礎構文班 5回目 繰り返し

20

Page 21: 基礎構文班 5回目 繰り返し

• int num=Integer.parseInt(str)• の 1 文で入力した文字列を int 型に変換し

ています• BufferedReader は String 型と認識するので

他のかたとして使うときには変換する必要があります

21

Page 22: 基礎構文班 5回目 繰り返し

文字列からの変換

String s→int iString str = br.readLine();int i=Integer.parseInt(s)

String s→double dString str = br.readLine();double d= Double.parseDouble(s)

22

Page 23: 基礎構文班 5回目 繰り返し

• ここでの throws IOException は今はまだ何かはわからなくても大丈夫

• 動くのに必要なおまじないです。

• 正直な話 Scanner 使ったほうが楽です

23

Page 24: 基礎構文班 5回目 繰り返し

繰り返し処理

24

Page 25: 基礎構文班 5回目 繰り返し

ここで• 1 から 20 までの数字を順番に表示してみ

てください。

• それができたら 1000 まで順番に表示してみてください

25

Page 26: 基礎構文班 5回目 繰り返し

System.out.println(1);System.out.println(2);System.out.println(3);System.out.println(4);System.out.println(5);System.out.println(6);.....

26

Page 27: 基礎構文班 5回目 繰り返し

同じようなことを繰り返すのか…

• でも 20 くらいまでなら…

• だけど 1000 は無理 !!

27

Page 28: 基礎構文班 5回目 繰り返し

ここで使うのが繰り返し処理• 読んで字のごとし、

決められた内容を繰り返し実行するプログラムの部分のことです。

• こういうのを「ループ」ともいいます。

28

Page 29: 基礎構文班 5回目 繰り返し

書いてみる

29

Page 30: 基礎構文班 5回目 繰り返し

真と偽について• boolean 型という真 (1) と偽 (0)の 2 状態を扱うことのできる型が存在している真は true偽は falseとしてプログラム上で使用する

30

Page 31: 基礎構文班 5回目 繰り返し

実行結果• こうなれば成功

31

Page 32: 基礎構文班 5回目 繰り返し

f or(int a=1;a<=10;a++){繰り返したい内容

}

• for( 変数の初期化 ; 繰り返し条件式 ; 一回終わるごとの処理 )

32

Page 33: 基礎構文班 5回目 繰り返し

注意点• 最初に条件式を評価し true( 真 ) だった場合に{ } の中を実行する。実行が終わると再び条件式を評価

条件式が false( 偽 ) だった場合には for 文が終了する。

繰り返したい内容の中で変数を宣言するとループのたびに初期化されてしまいます

33

Page 34: 基礎構文班 5回目 繰り返し

while 文

while( 繰り返し条件 ) {繰り返したい内容

}繰り返し条件が真である間 { } の中を繰り返す

Page 35: 基礎構文班 5回目 繰り返し

書いてみる

35

Page 36: 基礎構文班 5回目 繰り返し

実行結果こうなれば成功

36

Page 37: 基礎構文班 5回目 繰り返し

この場合ではループが一周すると i の値が 1 増加する

• ( ) のなかの条件が false( 偽 ) になったら終了

• もし最初から条件が false( 偽 ) だったらwhlie 文は実行されない

37

Page 38: 基礎構文班 5回目 繰り返し

無限ループに注意 !!

• 条件式を間違えるとループが止まらなくなります

38

Page 39: 基礎構文班 5回目 繰り返し

そんな時は• ここをクリック

39

Page 40: 基礎構文班 5回目 繰り返し

無限ループさせたいときは…while( 条件式 )

の条件式が true ならループする↓

40

Page 41: 基礎構文班 5回目 繰り返し

do whlie 文• 大体 while 文と同じ• だが必ず一回は実行される• while( 条件式 ) が false になったら終了

41

Page 42: 基礎構文班 5回目 繰り返し

42

Page 43: 基礎構文班 5回目 繰り返し

• 100 までの数の中で自分が入力した数字の倍数のみ表示するプログラムを作ってみる

43

Page 44: 基礎構文班 5回目 繰り返し

ヒント

44

Page 45: 基礎構文班 5回目 繰り返し

• 入力した数字までの数字の和を求めるプログラムを作ってみる

• 例 )• 5 と入力→ 15• 6 と入力→ 21

45

Page 46: 基礎構文班 5回目 繰り返し

ヒント

46