条件分岐と繰り返し

制御構造

①順次

②分岐

③繰り返し

プログラムを制御構造にするには制御構文を使う

 

if文(もし〜ならば)

分岐を行うために使う制御構文

if(条件式){

     条件式が「はい」の時の処理

}else{

 条件式が「いいえ」の時の処理

}

条件式は必ずboolean型になる

 

while文(前判定)

繰り返しを行うために使う制御構文

while(条件式){

  条件式が「はい」の時に繰り返す処理

}

繰り返す処理は何行でも書くことができる

条件式は必ずboolean型になる

「はい」の間処理を繰り返す

 

ブロック

{ }で囲まれた処理のこと

 

スコープ

変数の使える範囲のこと

{ }外はスコープ外となりエラーとなってしまう

◉スコープの外でも使えるようにしたい場合は・・・

{ }の外で宣言をする

 

条件式

関係演算子

データを比較する

== 等しいか判定

!= 異なるか判定

> 左辺が右辺より大きいか判定

< 左辺が右辺より小さいか判定

>= 左辺が右辺より大きいまたは等しいか判定

<= 左辺が右辺より小さいまたは等しいか判定

 

気をつけること

1 等しいか判定するときは「=」ではない

※=は代入演算子

2 2文字で出来ている演算子は間にスペースを入れたり、順序を

入れ替えたりしてはいけない

3 文字列を比較することはできない

String型を比較する時はequalsというものを使う

 

論理演算子

複数の条件を組み合わせる時に使う

&& 〜かつ〜(and)

|| 〜または〜(or)

! 〜でない(否定)

 

3種類のif文

1 ifーelse文

2 ifのみ構文

条件式がfalseの場合は処理がない時

3 ifーelse  ifーelse構文

条件式がfalseの場合、さらに別の処理で判定したい時

ifーelse文の注意点

プログラムは上から下へ動くので順序が大事

(大きいものから基本書いていく)

 

switch文

3つ以上に分岐する場合に使う

switch(条件式){

case 値1:(条件値==値1の時)

 処理;

 break;

case 値2:(条件値==値2の時)

 処理;

 break;

default:(どれにも当てはまらない時)

 処理;

 break;

}

switch文の注意点

1 条件値のデータ型

byte、short、int、char、String しか使えない

×少数型、long

2 caseラベル

caseの右にはリテラルか定数しか書けない

×変数

その右には「:」(コロン)をつける

×「;」(セミコロン)ではない

3 大小の比較は不可

判定はあくまで「条件値==値n」

(Stringの時は「条件値.equals(値n)」)

 

break;なしのswitch文

break;がなくてもコンパイルエラーにならない・・・けど

次のcase(またはdefault)の処理も行なってしまうため、注意が必要

(文字を表示しちゃうとか・・・)

break;があるところまで実行してしまう・・・

(でも利用することもできるヨ。)

 

この中の優先順位としてはif文が一番!!