** フロー制御文
- ソースファイル内の文は出現順に に(上から下の順)
に実行される。これは意味論に関することだな。
- この流れを変更するのがフロー制御文
*** if文とif-else文
- if文
- 構文
if (ブール型の値を返す式) 文
- 実行パス:1 (増えない)
- if-else文
if (ブール型の値を返す式) 文 else 文
- 実行パス:2
*** switch文
- switch文
- 構文
switch (整数型の値を返す式) switchブロック
switchブロックはBNFで書くとしてもかなり複雑な
文法なので割愛。
- 実行パス:無制限?
*** while文とdo-while文
- while文
- 構文
while (ブール型の値を返す式) 文
- do-while文
do ブロック while (ブール型の値を返す式)
*** for文
- for文
- 構文
for (初期化式; 継続条件式; インクリメント式) 文
- 実行パス:1
- 拡張for文
- 構文
for (型名 変数名 : 配列またはコレクション) 文
*** 分岐文
- break文
- 構文
break;
break ラベル;
- 意味
break単体は、最も内側のループのブロックから脱
出する。ラベル付きbreakは、そのラベル以降に出
現する最初のループのブロックから脱出する。
- continue文
- 構文
continue;
- 意味
ループ内において、continue以降の処理をスキッ
プする。
- return文
- 構文
return;
return 式;
- 意味
メソッドの呼び出し元に戻る。式が与えられてい
れば、その値を呼び出し元への返却値とする。
*** フロー制御文のまとめ
- 特になし。
*** 設問と演習:フロー制御文
**** 設問
- 1. if
- 2. switch
- 3. do-while 末尾
- 4. for (;;)
- 5. while (true)
**** 演習
- 1.
- a. second string
- b. second string\nthird string
- c. こんな感じ?
class IfDemo {
public static void main (String[] args) {
int aNumber = 3;
if (aNumber >= 0)
if (aNumber == 0) System.out.println("first string");
else System.out.println("second string");
System.out.println("third string");
}
}
- d. こんな感じ?
class IfDemo {
public static void main (String[] args) {
int aNumber = 3;
if (aNumber >= 0) {
if (aNumber == 0) {
System.out.println("first string");
} else {
System.out.println("second string");
}
}
System.out.println("third string");
}
}
こつこつ。
0 件のコメント:
コメントを投稿