0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Java 制御構文

Last updated at Posted at 2019-07-08

学習ログ

文を実行させる順番のことを制御構造といい、主に「順次」「分岐」「繰り返し」がある。

####制御構文の構成要素
[条件式]分岐条件や繰り返しを続ける条件を示した式
[ブロック]分岐や繰り返しで実行する一連の文の集まり

分岐構文
if(条件式) {
  ブロック
} else {
 ブロック
}

繰り返しの構文
while(条件式){
  ブロック
}  

####分岐構文のバリエーション
・3種類のif構文

▪︎if-else構文(基本形)
//例
if(age >= 20) {
  canDrink = true;  //条件がtrueの場合ここのブロックの処理が動く。
} else {
  canDrink = false; //条件がfalseの場合ここのブロックの処理が動く。
}

▪︎ifのみ構文
//例
if( age >= 20) {
  canDrink = true;
}

▪︎if-else if-else構文
//例
if( height >= 170) {
  size = 'L'; 
} else if(height >= 155){
  size = 'M';
} else if(height >= 140){
  size = 'S';
} else {
  size = '?';
}

####switch 構文
switch文に書き換えることができる条件
①全ての条件式が「変数==値」や「変数==変数」のように左辺や右辺が一致するか比較する式しか使用できない(<,>,!=,などは使用できない)
②比較する値が整数(byte型、short型、int型のいずれか)、文字列(String型)または文字(char型)であり、少数や真偽値ではない。

//例
switch(fortune){
  case 1:
    System.out.println("大吉");
    break;
  case 2:
    System.out.println("中吉");
    break;
  case 3:
    System.out.println("吉");
    break;
  default:  // caseのどれにも当てはまらなかった場合の処理(いらないなら省略可)
    System.out.println("凶");
}

・switch文は当てはまるcaseにジャンプするだけなのでbreakを記述しないと特定のcaseまで飛んだ後そこからまた順次プログラムを読み込んでしまう。
※break文とは: 処理を中断し終了させるメソッド。
####繰り返し構文のバリエーション
・2種類のwhile文

▪︎while構文(基本形)
//例
while(temp > 25) {
  temp--;
  System.out.println("温度を1度下げました");
}

▪︎do-while構文
//例
do{
  temp--;
  System.out.println("温度を1度下げました");
} while(temp > 25);

・for文による繰り返し

for (ウンタ変数の初期化処理; 繰り返し条件; カウンタ変数の増減処理) {
  繰り返す処理
}
//例
for( int i = 0; i < 10; i++) {
  System.out.println(i);
}
//変数iを初期化して0を代入している。iが10より大きくなるまでブロック内の処理を行う。
//処理を行うたびにi++(変数iに1を足す)という処理を行う。

####制御構造のネスト
「分岐の中に分岐」や「繰り返しの中に分岐」など、このような多重構造を「入れ子」や「ネスト」という。

▪︎分岐処理の中の分岐処理
//例
if(height > 170){
  if(eye > 1.0){
    System.out.println("合格");
  }
}

▪︎繰り返しの中の分岐処理
//例
do{
  if(i % # == 0){
    System.out.println(i);
  }
  i++
} while(i < 100);

・break文(繰り返し自体を中断)

for(int i = 1; i < 10; i++) {
  if(i == 3){
    break;
  }
  System.out.println(i);
}

・continue文(今回の文だけを中断し、次の周へ)

for(int i = 1; i < 10; i++) {
  if(i == 3){
    continue;
  }
  System.out.println(i);
}
0
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?