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