Upload
xmlproj2014
View
248
Download
0
Embed Size (px)
Citation preview
XMLPro 5 回目
前回の復習
2
前回の復習 1
• scanner を利用して文字を入力した
• if を利用して条件によって処理を分岐させた
前回の復習 2
4
import java.util.Scanner;// インポート
Scanner s=new Scanner(System.in);//s も変数名
型名 変数名 =s.nextInt();
で文字が入力できる
5
前回の復習 3
6
if( 条件 A){条件 A が真の時に実行される処理
} else if( 条件 B){条件 B が真の時に実行される処理
}else{条件 AB ともに真では無いときに実行される
処理}もし条件が真であれば { } 内の処理を実行する
7
本日の内容
BufferedReader繰り返し
8
の前に…• Eclipse の便利な機能を使ってますか??
• sysout CTRL+ スペースキーで• System.out.println() ;←これが出てきます
9
クラス作成の時に
10
• チェックを入れると自動で
public static void main(String[] args) { }↑書いてくれます
11
• 便利な機能は使っていきましょう !
12
パッケージの作成• ダンボールみたいなやつをクリック
13
名前を入力して完了今回は xmlpro0515 とします ( なんでもいいです )
完了がでない↓
XMLPro2014/srcを選択して反転
もしくはソース・ フォルダの指定
14
• 先ほど作成したパッケージをクリックして選択した状態で
クラスを作成します
15
クラスの作成• 新規 java クラスを選択
16
クラスの作成 2
• クラス名を入力
• クラス名はお好きにどうぞ →クラス名の頭文字は大文字 !! Lesson1, Sample1, とか今回の最初は Buffered とかでもよい小文字でもエラーはおこらない
17
BufferedReader
• 前回は Scanner をやった
• この 2 つに大きな違いは無い• 書く量が違うくらい
• 正確には実行速度に差があるがほぼ無いに等しい
18
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
20
• int num=Integer.parseInt(str)• の 1 文で入力した文字列を int 型に変換し
ています• BufferedReader は String 型と認識するので
他のかたとして使うときには変換する必要があります
21
文字列からの変換
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
• ここでの throws IOException は今はまだ何かはわからなくても大丈夫
• 動くのに必要なおまじないです。
• 正直な話 Scanner 使ったほうが楽です
23
繰り返し処理
24
ここで• 1 から 20 までの数字を順番に表示してみ
てください。
• それができたら 1000 まで順番に表示してみてください
25
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
同じようなことを繰り返すのか…
• でも 20 くらいまでなら…
• だけど 1000 は無理 !!
27
ここで使うのが繰り返し処理• 読んで字のごとし、
決められた内容を繰り返し実行するプログラムの部分のことです。
• こういうのを「ループ」ともいいます。
28
書いてみる
29
真と偽について• boolean 型という真 (1) と偽 (0)の 2 状態を扱うことのできる型が存在している真は true偽は falseとしてプログラム上で使用する
30
実行結果• こうなれば成功
31
f or(int a=1;a<=10;a++){繰り返したい内容
}
• for( 変数の初期化 ; 繰り返し条件式 ; 一回終わるごとの処理 )
32
注意点• 最初に条件式を評価し true( 真 ) だった場合に{ } の中を実行する。実行が終わると再び条件式を評価
条件式が false( 偽 ) だった場合には for 文が終了する。
繰り返したい内容の中で変数を宣言するとループのたびに初期化されてしまいます
33
while 文
while( 繰り返し条件 ) {繰り返したい内容
}繰り返し条件が真である間 { } の中を繰り返す
書いてみる
35
実行結果こうなれば成功
36
この場合ではループが一周すると i の値が 1 増加する
• ( ) のなかの条件が false( 偽 ) になったら終了
• もし最初から条件が false( 偽 ) だったらwhlie 文は実行されない
37
無限ループに注意 !!
• 条件式を間違えるとループが止まらなくなります
38
そんな時は• ここをクリック
39
無限ループさせたいときは…while( 条件式 )
の条件式が true ならループする↓
40
do whlie 文• 大体 while 文と同じ• だが必ず一回は実行される• while( 条件式 ) が false になったら終了
41
42
• 100 までの数の中で自分が入力した数字の倍数のみ表示するプログラムを作ってみる
43
ヒント
44
• 入力した数字までの数字の和を求めるプログラムを作ってみる
• 例 )• 5 と入力→ 15• 6 と入力→ 21
45
ヒント
46