スライド 1: pi-4. Javaプログラミングにおける条件分岐と実行フロー制御
スライド 2
スライド 3: 全体まとめ
スライド 4: アウトライン
スライド 5: オブジェクトとメソッド
スライド 6: Java プログラムの書き方
スライド 7: Java Tutor の起動
スライド 8: Java Tutor でのプログラム実行手順
スライド 9: Java Tutor 使用上の注意点①
スライド 10: Java Tutor 使用上の注意点②
スライド 11: 4-1. 条件分岐
スライド 12: 条件分岐
スライド 13: 条件分岐のプログラム例
スライド 14: 4-2. 演習
スライド 15: 演習
スライド 16
スライド 17
スライド 18
スライド 19
スライド 20: 4-3. 条件分岐のステップ実行
スライド 21: プログラム実行
スライド 22: ステップ実行
スライド 23: Java Tutor でのステップ実行
スライド 24: 演習
スライド 25
スライド 26
スライド 27
スライド 28
スライド 29
スライド 30
スライド 31
スライド 32: 関連ページ
スライド 33: 資料中のソースコード 4-1
pi
-4. Java
プログラミングにおけ
る条件分岐と実行フロー制御
1
金子邦彦
(
Java
マスター講座:基礎から応用まで)
URL:
https://www
.kkaneko.jp/pro/pi/index.html
2
条件分岐,
age <= 12
のときは
500 y
en
,
age >
12
のときは
1200
yen
ステップ実行により,ジャンプの様子を観察
全体まとめ
•
条件分岐
では,
変数や式の値
によって
結果が変わ
る
などの判断を行う
条件式は「
age
<= 12
」のようになる
•
プログラムは,通常は,
上から順に1つず
つ実行
される
(
逐次実行
)
•
条件分岐
や
繰り返し(ループ)
では,逐次
実行と
は
違う実行の流れ
になる
•
ステップ実行
により,変数等の変化,プログラム
実行の流れを観察できる
3
アウトライン
4
番号
項目
条件分岐
4
-1
演習
4
-2
ステップ実行
4
-3
条件分岐
各自、資料を読み返したり、課題に取り組んだりも行う
この授業では、
Ja
v
a
を用いて基礎を学び、マスターする
オブジェクトとメソッド
•
メソッド
:
オブジェクト
に属する操作や処理.
•
メソッド
呼び出しでは,
引数
を指定することがある.
引数
(ひきすう)は,
メソッド
に渡す値のこと
hero.attack("fence", 36, 26
)
5
her
o.mo
veDown
()
her
o
オブジェクト
mov
eDown
()
メソッド
間を「
.
」で
区切って
いる
Java
プログラムの書き方
•
代入
:
オブジェクト名
+
「
=
」
+
式または値またはメソッド呼び出し
•
メソッドアクセス
:
オブジェク
ト名
+
「
.
」
+
メソッド名
+「
()
」
(引数を付けることも)
6
x = 100
a = x +
200
enerm
y1 =
her
o.
findNeares
tEnem
y
()
her
o.a
t
tack(enem
y1)
プログラムの例
その他,属性アクセス,関数呼び出し,制御,「
*
」
,
「
+
」などの演算子,コマンド,定義など
Java
T
utor
の起動
①
ウェブブラウザ
を起動する
②
Java T
utor
を使いたいので,次の
URL
を開く
https://p
ythontutor
.com/jav
a.
html
③
「
Java
」をクリック
⇒
編集画面
が開く
7
Java
T
utor
での
プログラム実行手順
8
(1)
「
V
isualize Execu
tion
」をク
リックして
実行画面
に切り替える
(2)
「
Last
」をクリック.
(3)
実行結果を確認
する.
(4)
「
Edit this code
」をク
リックして
編集画面
に戻る
Java
T
utor
使用上の注意点①
•
実行画面で,次のような
赤の表示
が出ること
がある
→
無視
してよい
過去の文法ミスに関する確認表示
邪魔なときは「
Close
」
9
Java
T
utor
使用上の注意点②
「
please wait ..
. executing
」のとき,
10
秒ほど待つ
.
→
混雑しているとき
は,
「
Server Bu
sy
・・・」
というメッセージが出る
ことがある.
混雑している.
少し(
数秒から数十秒)待
つ
と自
動で表示が変わる(変わらな
い場合には,操作を
もう一度行ってみる)
10
4-
1.
条件分岐
11
条件分岐
条件分岐
では,
変数や式の値
によって
結果が
変わる
などの判断を行う
age
の値が
12
以下
→
500
13
以上
→
1800
12
条件式は「
age
<= 12
」のようになる
条件分岐のプログラム例
13
public class
Y
ourClassNameHere
{
public static void main(String[] args) {
int
age = 10
;
if
(
age <=
12
) {
System.out.println
("
500 y
en
");
}
else
{
System.out.println
("
1200 y
en
");
}
}
}
字下げを行うことで,
プログラムを読みやすくしている
4-
2.
演習
14
演習
資料:
16
~
19
【
トピックス
】
•
条件分岐
•
if
•
else
15
16
①
Ja
v
a
T
utor
のエディタで次のプログラムを入
れる
10
歳のときは
500
円
17
結果の
「
500 y
en
」が表示
されるので確認
②
実行し,結果を確認する
10
歳のときは
500
円
「
Visual Ex
ecution
」をクリック.そして「
Las
t
」をクリック.結果を確認.
「
E
dit this c
ode
」をクリックすると,エディタの画面に戻る
18
③
Ja
v
a
T
utor
のエディタで次のプログラムを入
れる
20
歳のときは
1200
円
19
結果の
「
1200 yen
」が表示
されるので確認
★
プログラムは消さずに
残しておくこと
④
実行し,結果を確認する
20
歳のときは
1200
円
「
Visual Ex
ecution
」をクリック.そして「
Las
t
」をクリック.結果を確認.
「
E
dit this c
ode
」をクリックすると,エディタの画面に戻る
4-
3.
条件分岐のステップ実行
20
プログラム実行
•
命令(コマンド
)は,
順番に並んでいる
•
通常は,
上から順に1つずつ実行される
(
逐次実
行
)
•
条件分岐
や
繰り返し(ループ)
では,逐次実行と
は
違う実行の流れ
になる
※
プログラミング言語の種類によっては,順番
に
並んでいないという場合もある:
SQL, Scheme,
Prolog
など
21
ステップ実行
•
ステップ実行
により,
プログラム実行の流れ
を
ビ
ジュアルに観察
22
Java
T
utor
でのステップ実行
ステップ実行
により,
プログラム実行の流れ
を確認できる
23
演習
資料:
25
~
31
【
トピックス
】
•
Java
T
utor
でのステップ実行
の操作
•
変数の値の変化
•
実行の流れの変化(ジャン
プ)
24
①
まずは,「
V
isuali
ze Execution
」をクリックし
て,実行開始
25
②「
Step
1 of 5
」と表示されているので,
全部で,ステップ数は
5
あることが分かる
(ステップ数と,プログラムの行数は
違うもの
)
26
③
ステップ実行
したいので,「
Next
」を
クリック
しながら
,
矢印の動きを確認
.
※
「
Next
」ボタンを何度か押し,それ以上進めな
くなったら終了
27
見どころ
4行目
から
7行目
へ
ジャンプ
する
ところ
④
最後の行まで達したら,「
Edit
this code
」をク
リックして,エディタの画面に戻る
28
⑤
次のように「
age
= 10
」と
書き換えて
,い
ままでと同じことを行う
29
見どころ
5行目
から
9行目
へ
ジャンプ
する
ところ
•
次のプログラムを作成
30
・
条件分岐
w
eight
の値が
100
未満
→
0
yen
100
以上
→
1000
yen
・
「
w
eight
= 50
」に設定してテスト実行
正解の例は次のページ
31
関連ページ
•
Java
プログラミング入門
GDB online
を使用
https://www
.kkaneko.jp/pro/
ji
/index.html
•
Java
の基本
Java
T
utor
, GDB onlin
e
を使用
https://www
.kkaneko.jp/pro/pi/index.htm
l
•
Java
プログラム例
https://www
.kkaneko.jp/pro/java/index.html
32
資料中のソースコード
4-1
public class
Y
ourClassN
ameHere
{
public static void main(String[] args
) {
int age = 10;
if (age
<= 12) {
Sy
stem.out.println("500 yen");
} else {
Sy
stem.out.println("1200 yen");
}
}
}
33