条件分岐

Home>Flash>動画のつくりかた>条件分岐

この情報はお役に立ちましたか?よろしければ皆様にもお知らせください。

  このエントリーをはてなブックマークに追加 mixiチェック  

条件分岐とは、「もしある条件がAならば、こちらの処理を行い、そうでなければこちらの処理を行う」というような命令のことで、プログラムにおいては必ず使うといってもおかしくない文です。

if文

条件分岐の中でも最もオーソドックスなもの。もし~ならばA、そうでなければBというように条件分岐させます。

if

if ( A ) { B }

if文の基本表現。Aに条件式を書きます。Aの条件式を評価して、trueならばBに書いた命令文を実行します。

「trueである」とは

if文の場合、条件を評価した際の結果として返す値は、true(真)又はfalse(偽)の2択です。trueとは、評価した結果が「その通りである」という意味です。falseとは、評価した結果が「そうではない」ということです。

以下の場合で考えます。

if ( xx = 1 ) { yy = 2;}

この場合、評価する条件は、「 xx = 1 」です。
その意味は、「 変数xxに1が代入されているか? 」ということです。
変数xxに1が代入されていれば、結果はtrueになるので、次の{ }にかかれた命令文を実行します。つまり、変数yyに2を代入します。
変数xxに1が代入されていなければ、結果はfalseになるので、{ }内の命令文は実行されません。つまり、変数yyに2は代入されません。

else

if ( A ) { B } else { C }

elseはif文とセットで使います。
if ( A )で、条件Aを評価し、それがtrueであれば{ B }を実行するのは、上記の説明通りです。
elseは、「 そうでなければ次の命令文を実行する 」という意味になります。この場合ならば、条件Aを評価して、それがfalseであったら{ C }を実行します。

else if

if ( A ) { B } else if ( C ) { D }

if文の後に、さらに別のif文を続けたいときに使います。
この場合は、条件Aを評価して、trueならばBを実行、falseならば、次に条件Cを評価します。条件Cの評価の結果がtrueならば、Dを実行します。

以下のように、elseを組み合わせることもできます。

if ( A ) { B } else if ( C ) { D } else { E }

elseは、それまでの条件すべてがfalseの場合に実行する命令文を書きます。なお、elseは、else ifよりも前に書くことはできません。

switch文

switch文は、最初にある条件を提示し、条件を評価した結果の値によって処理を指定したい場合に使います。

switch文の書式

switch ( A )
{
case B:
命令文C
break;
case D:
命令文E
break;
default:
命令文F
break;
}

switch文は、以上のように書きます。
Aには条件を書きます。Aの条件の結果が、Bであれば、case B:以下に書かれている命令文Cを実行し、Aの結果がDであれば、case D:以下に書かれている命令文Eを実行します。どれにも当てはまらない場合には、default:以下に書かれている命令文Fを実行します。

case

caseには、Aの結果となる値を書きます。
その後に、コロン(:)を書いてから、そのとき実行したい命令文を書きます。

default

caseに一つも当てはまらなかった場合に実行する命令文をdefault:以下に書きます。defaultは省略することもできます。
省略した場合は、caseに一つも当てはまらなければ、何もしません。

break

case以下の命令文の最後には、必ずbreak;を書きます。
breakは、「 switch文を抜ける 」という意味になります。
もし、breakを書かなかった場合は、続けて次の命令文を実行してしまいます。以下の場合だと、

switch( A )
{
case B:
命令文C
case D:
命令文 E
default:
命令文F
}

Aの値がBだった場合は、命令文Cを実行します。しかし、breakがないので、switch文を抜け出せず、そのままcase Dの命令文であるEを実行してしまいます。さらにbreakがないので、defaultに指定した命令文Fも実行してから、switch文を抜けます。

条件分岐演算子

A ? B : C

Aに条件式を書きます。Aの条件を評価した結果、trueならばBを実行し、falseならばCを実行します。

if文で書くこともできますが、条件分岐演算子を使った方がコンパクトにまとめることができます。

たとえば、以下のような場合、

xx = 1 ? yy = 2 : yy = 1;

変数xxに1が代入されていれば、変数yyに2を代入します。変数xxに1が代入されていなければ、変数yyに1を代入します。

関連リンク

よく読まれている記事

UpDate:2011-7-21