【Java ~条件分岐・繰り返し処理~】勉強メモ（３）

Java学習中。
復習に見返せるようにメモしていきます。
ほぼ自分の勉強メモです。
過度な期待はしないでください。

条件分岐
-

- if文

if文は、英語で「もし〜なら」という意味で、この「〜」に当たる部分が、ifの後の( )の部分。
これを条件式と呼ぶ。
条件式がtrueなら{ }内の処理を行い、反対に条件式がfalseなら何もしません。

条件式には、「真偽値」、「比較演算子（==, < など）」、「論理演算子（&&, ||, ! ）」を活用する。
なお{ }の後ろにはセミコロンは不要。

```.java:書き方
if(条件式){
  //処理内容;
}
```
<br>

```.java:例
// 整数の型の変数の定義
int x = 5;
// if文を用いて、変数xが2より大きいとき「xは2より大きい」と出力
if(x > 2) {
  System.out.println("xは2より大きい");
}
```

```.text:出力結果
xは2より大きい
```
<br>

-else、 else if

elseとは、英語で「そのほかの」というような意味で、ifとelseを組み合わせると、
「もし〜なら◯◯、そうでなければ△△」という条件分岐が可能になる。

さらにelse ifを用いる事で、さらなる条件分岐が可能になる。
ifとelse if、elseを組み合わせる事で、
「もし〜なら◯◯、そうではなくてもし××なら△△、どちらでもない場合は□□」という条件分岐を実現できる。

```.java:例
// 整数の型の変数の定義
int number = 12;
    
// ifとelse if、elseを組み合わせた条件分岐
if (number < 10) {
  System.out.println("10より小さい");
}else if(number < 20){
  System.out.println("10以上、20より小さい");
}else{
  System.out.println("20以上");
}
```

```.text:出力結果
10以上、20より小さい
```
<br>

- switch文

条件分岐にはswitch文という構文もある。
switch文は、条件の値がcaseの値と一致するとき、処理が実行される。
また、breakとはswitch文を終了する命令です。
breakがないと、合致したcaseの処理を行った後、その次のcaseの処理も実行してしまい
意図せぬ処理が起こってしまう。

caseの後ろの`コロン（:）`は、忘れがちなので注意が必要。

```.java:書き方
switch(条件の値){
  case 値1:
    // 処理内容;
    break;
  case 値2:
    // 処理内容;
    break;
  case 値3:
    // 処理内容;
    break;
}
```
<br>

```.java:例
int number = 12;
    
switch(number%3) {
  case 0:
    System.out.println("3で割り切れます");
    break;
  case 1:
    System.out.println("3で割ると1余ります");
    break;
  case 2:
    System.out.println("3で割ると2余ります");
    break;
}
```

```.text:出力結果
3で割り切れます
```
<br>

switch文では、どのcaseとも一致しなかったときに実行する処理を、`default`に指定することが出来る。
これはif文のelseに似ている。

```.java:例
int number = 18;
    
switch(number%5) {
  case 0:
    System.out.println("5で割り切れます");
    break;
  case 1:
    System.out.println("5で割ると1余ります");
    break;
  case 2:
    System.out.println("5で割ると2余ります");
    break;
  default:
    System.out.println("それ以外");
    break;
}
```

```.text:出力結果
それ以外
```
<br>

繰り返し処理
-

- while文

whileとは「〜の間」という意味の英語で、while文は、`「条件がtrueの間、{ }内の処理を繰り返す」`
ことが出来る。

```.java:書き方
while(条件){
  // 繰り返す処理;
}
```
<br>
- while文の処理の流れ

```.java:書き方
int number = 10; //①
    
// while文を用いて、numberが0より大きい場合に繰り返す、繰り返し処理を作成
while(number > 0){ //②
  System.out.println(number); //③
  number-=1; //④
}
```

①変数の初期化
↓
②条件
↓
③繰り返す処理
↓
④変数の更新
↓
②条件
↓
③繰り返す処理
↓
④変数の更新

※処理が一周終わると、その度に変数は更新され、再び条件式がチェックされる。
trueであればもう一周処理を行い、条件がfalseになる迄繰り返し処理される。
<br>

- for文

for文も繰り返し処理の1つです。
for文では、forの後の( )内に、`「変数の初期化、条件式、変数の更新」`の3つを記述する。
それぞれを、`セミコロン（;）`で区切りますが、最後の変数の更新にはセミコロン（;）をつけないことに注意。

```.java:書き方
// for文を用いて、numberが0より大きい場合に繰り返す、繰り返し処理を作成
for(int number = 10; number > 0; number-=1){
  System.out.println(number);
}
```
<br>

-break、continue

- break

繰り返し処理を終了させる為には、条件をfalseにする以外に、breakを使って
強制的に終了させる方法がある。

```.java:例
int i = 1;
// iが5の倍数のとき、繰り返し処理を終了
while (i < 10) {
  if(i % 5 == 0){
    break;
  }
  System.out.println(i);
  i++;
}
```

```.text:出力結果
1
2
3
4
```
<br>

- continue

continueは、その周の処理だけをスキップして、次の周を実行することが出来る。

```.java:例
for (int j = 1; j < 10; j++) {
// jが3の倍数のとき、処理をスキップ
  if(j%3==0){
    continue;
  }
  System.out.println(j);
}
```

```.text:出力結果
1
2
4
5
7
8
```
<br>

過去投稿記事
-
[【Java~変数の定義、型変換について~】勉強メモ](https://qiita.com/k-yasuhiro/items/43ef789c8be7b669046a)
[【Java ~真偽値~】勉強メモ2](https://qiita.com/k-yasuhiro/items/5a75e6130552abd03934)