Top | Contents | Prev | Next
条件式

 条件式を使用すればプログラム中に条件分岐を作成する事ができます。例えば晩御飯がハンバーグならハンバーグを食べる命令文を実行し、ビーフシチューならビーフシチューを食べる命令文を実行させたりする事ができます。

条件式の種類
 条件式(条件ステートメント)には以下の種類があります。順に説明していきますので使用しながら覚えてください。

if (イフ)
 if 条件式は条件をテストし、その結果がtrueの場合はif のコードブロック内のステートメントを実行し、しない場合はそのまま何も実行されず抜けます。

書式:
最初に if を記述して、ペア括弧()内に条件式を記述し、その条件がtrueのとき行われるステートメントを中括弧{}内に記述します。
if (条件式) {
ステートメント;
}

例:
 下のコードはもしも変数 i が9よりも大きい場合はコードブロック内のステートメントを実行させるコードです。この場合変数 i は10なので条件式はtrueとなりますので、コードブロック内のステートメントが実行されます。
var i:int = 10;
if (i > 9) 
{
	trace("変数 i は9よりも大きい。");
}
//出力:変数 i は9よりも大きい。
if..else (イフ..エルス)
 if..else 条件式は条件をテストし、その結果がtrueの場合はif のコードブロック内のステートメントを実行し、それ以外の場合はelseのコードブロック内のステートメントを実行します。

書式:
最初に if を記述して、ペア括弧()内に条件式を記述し、その条件がtrueのとき行われるステートメントを中括弧{}内に記述します。
if (条件式) {
ステートメント;
} else {
ステートメント;
}

例:
 下のコードはもしも変数 i が1000よりも大きい場合はif のコードブロック内のステートメントを実行させ、そうでない場合はelse のコードブロック内のステートメントを実行させます。今回変数 i は500なので条件式はfalseとなりますので、else のコードブロック内のステートメントが実行されます。
var i:int = 500;
if (i > 1000) {
	trace("変数 i は1000よりも大きい。");
} else {
	trace("変数 i は1000よりも小さい。");
}
//出力:変数 i は1000よりも小さい。
if..else if (イフ..エルスィフ)
 if..else if 条件式は最初の条件式がtrueでない場合、次も条件式でテストしたい場合に使用します。if の次に条件式でテスト場合はelse if ブロックを作成していきます。

書式:
 条件式1がtrueならサブステートメント1を実行し、それ以外でもしも条件式2がtrueならサブステートメント2を実行し、どれにも当てはまらなかった場合はelseです。else if ブロックはいくつでも増やすことができます。
if (条件式1) {
ステートメント 1;
} else if (条件式2) {
ステートメント 2;
} else (条件式3) {
ステートメント 3;
}

例:
 下のコードは変数 apple にテキスト値としてredを代入して条件分岐を使用して(apple == "red")の条件式を持つelse if ブロックで結果がtrueとなったのでコードブロック内のステートメントを実行されます。
var apple:String = "red";
if (apple == "yellow") {
	trace("リンゴの色は黄色だ。");
} else if (apple == "blue") {
	trace("リンゴの色は青だ。");
} else if (apple == "red") {
	trace("リンゴの色は赤!");
} else {
	trace("リンゴの色はわかりません。");
}
//出力:リンゴの色は赤!
switch (スイッチ)
 switchステートメントは条件分岐を行う時に使いますが、場合によってはif ステートメントよりもスマートに書く事ができます。

書式:
switch (条件式) {
case 式1 :
ステートメント1;
break;
case 式2 :
ステートメント2;
break;
default :
ステートメント3;
break;
}

 if - else if - elseを使用したコードとswitchを使用したコードを比較して説明します。次のコードは変数now の値の条件によってtrace()で出力しています。今回は変数now は"お昼"で宣言されているので"こんにちは"と出力します。
var now:String = "お昼";

if (now == "朝") {
	trace("おはようございます");
} else if (now == "お昼") {
	trace("こんにちは");
} else if (now == "夕方") {
	trace("こんばんは");
} else {
	trace("こんばんは");
}

上記のコードをswitchで記述すると次のコードになり出力結果も同じです。演算子を何度も書いたりせず、すっきり簡単に書けるのがわかると思います。この様にswitchステートメントは1つの条件式に対して多くの出力結果がある場合に使用する時に便利です。
var now:String = "お昼";

switch (now) {
	case "朝" :
		trace("おはようございます");
		break;
	case "お昼" :
		trace("こんにちは");
		break;
	case "夕方" :
		trace("こんばんは");
		break;
	default :
		trace("こんばんは");
		break;
}

トップへ
Top | Contents | Prev | Next