条件式 |
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
条件式
制御文を使ったプログラムでは、
条件式が「成立した」かどうかで処理を実行させる。
条件式を満たした場合を「条件が成立した」と言う。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
式が正しい場合、条件式は「成立する」。
つまり「真(しん)」になる。
この場合、制御文の処理は実行される。
真はプログラムではtrue(トゥルー)と言う。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
式が正しくない場合、条件は「成立しない」。
つまり「偽(ぎ)」になる。
この場合、制御文の処理は実行されない。
偽はプログラムではfalse(フォルス)と言う。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
条件式の例
□は変数。勇者経験値変数。
経験値変数が1000以上になったら勇者がレベルアップ処理。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
上記の例を変数に置き換えてみると・・・
勇者経験値はyuushaExp変数。(yuushaExpはint型を想定)
例のように、変数の値を変えることで処理を分岐させる。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
変数同士もできるが、比較できるのは、
同じ型同士など、比較ができる型や値だけだ。
(数値と文字列では比較できない。) |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
比較できない条件式の例 |
|
|
|
型が違う変数や値は比較不可 |
|
|
|
 |
int yuushaExp = 100;
boolean winFlg = false;
if(yuushaExp == winFlg
){
System.out.println("型が違う変数や値は比較不可");
} |
|
|
|
|
|
|
|
|
|
ただし、例外あり(整数型同士は比較可能、など) |
|
|
|
 |
int
yuushaExp = 100;
byte yuushaPt = 10;
if(yuushaExp
>= yuushaPt){
System.out.println("整数型同士は可能");
} |
|
|
|
|
|
|
|
|
|
比較内容がおかしい比較は不可 |
|
|
|
 |
int yuushaExp = 100;
if(yuushaExp >
"abc" ){
System.out.println("文字列を「以上」とかで比較できません");
} |
|
|
|
|
|
|
 |
|
 |
|
|
 |
|
 |
|
条件式に計算を使った例 |
|
・・・ |
|
|
|
|
|
|
|
|
|
if(yuushaExp >=
yuushaPt + 5 + 5){ |
|
|
|
・・・ |
|
・・・ |
|
|
|
|
この場合、yuushaExpと の計算結果 が比較される |
|
サンプルです。実行しても動きません。 |
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
条件式には計算式も使える。
その場合、計算した後の値で判定される。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
プログラムの分岐の動作のイメージ
1000以上でレベルアップするイメージ。
今後のセッションで、制御文での条件式の
使い方を学習します。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|

|
|
 |
|
 |
|
真偽値のまとめ |
|
真偽値(boolean値) |
真 = true( トゥルー) |
偽 = false(フォルス) |
|
プログラムの条件判定 |
条件が成立した場合 |
: |
真(true) |
条件が不成立の場合 |
: |
偽(false) |
|
制御文の条件式が、trueの場合
処理が実行される |
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
プログラムでは
真偽値をboolean(ブーリアン)値と言う。
boolean値を扱えるboolean型の変数もある。
今後学習します。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
条件式の使い方の注意点 |
|
|
|
変数同士の比較もできる |
|
|
|
 |
int yuushaExp = 100;
int yuushaPt = 1000;
if(yuushaExp >=
yuushaPt){
System.out.println("変数同士を比較しました");
}
|
|
|
|
|
|
|
|
|
|
同時に3つ以上の値比較は不可 |
|
|
|
 |
int yuushaExp = 100;
int yuushaPt = 1000;
int yuushaStr = 10000;
if(yuushaExp >=
yuushaPt < yuushaStr ){
System.out.println("同時に3つ以上の値は比較不可");
} |
|
|
|
|
|
|
|
|
|
型が違う変数や値は比較不可 |
|
|
|
 |
int yuushaExp = 100;
boolean winFlg = false;
if(yuushaExp == winFlg
){
System.out.println("型が違う変数や値は比較不可");
} |
|
|
|
|
|
|
|
|
|
ただし、例外あり(整数型同士は比較可能、など) |
|
|
|
 |
int
yuushaExp = 100;
byte yuushaPt = 10;
if(yuushaExp
>= yuushaPt){
System.out.println("整数型同士は可能");
} |
|
|
|
|
|
|
|
|
|
比較内容がおかしい比較は不可 |
|
|
|
 |
int yuushaExp = 100;
if(yuushaExp >
"abc" ){
System.out.println("文字列を「以上」とかで比較できません");
} |
|
|
|
|
|
|
|
|
|
条件式には計算式も使える。計算した後の値で判定される。 |
|
|
|
 |
int yuushaExp = 100;
int yuushaPt = 1000;
if(yuushaExp >=
yuushaPt + 5 + 5 ){
System.out.println("条件式には計算式も使える");
} |
|
|
|
|
|
|
 |
|
 |
|
|