条件分岐 - if文

ifで枝分かれ

ユーザーが入力したパスワードが正しかったらこの処理をさせ、間違っていたらこの処理をさせたいなど、ある判定の結果によって処理を枝分かれを作るときに「if」を使います。

if(判定したいこと)
{
	判定結果が正しいときにやりたい処理;
	判定結果が正しいときにやりたい処理2;
	  …
}
ifの基本ルール
var a:Number = 5;

if( a < 10 )
{
	trace( "aは10より小さい" );
}
  1. 数値型の変数 a を宣言し、初期値として 5 を入れる
  2. a が10より小さいとき、「{}」で囲まれたところが実行される
  3. 結果を出力パネルに表示する
ifの処理の流れ


もちろん、実際にこの文を使う場合、判定の結果はtrace文ではなく、もっと具体的な演出になります。

さまざまな条件
a < 10    a10より小さい
a > 10    a10より大きい
a <= 10  a10以下(10も含む)
a >= 10  a10以上(10も含む)
a == 10  a10と一致
a != 10   a10ではない


この中で特に間違えやすいのは「==」という記号です。
等しいかどうか調べるときには必ず2つ必要です。

if( password != "abc123" )
{
	trace( "パスワードが間違っています。" );
}
else

条件が成立しない場合に何かを実行したいときに、「そうではないとき」という処理を実行します。

var a:Number = 15;

if( a < 10 )
{
	trace( "a は10より小さい" );
}
else
{
	trace( "a は10より小さくはない" );
}


else if

if と else を使えば、条件が成立するときの処理も、成立しないときの処理も書けるので充分のように思えますが、もうひとつ if と else の間に書く「else if」には、if 文と同じように条件を書くことができ、「そうでなくて、もし〜ならば」という処理をつくります。

var a:Number = 10;

if( a < 10 )
{
	trace( "a は10より小さい" );
}
else if( a == 10 )
{
	trace( "a はずばり10" );
}
else
{
	trace( "a は10以上" );
}


ANDで条件を組み合わせる

if 文では、いくつかの条件を並べることができます。
条件を並べるときには「AND(&&)」か「OR(||)」を使って、条件どおしをつなぎます。
両方の条件が成立するときだけ処理を実行したいときには、AND(&&)を使います。

var a:Number = 5;

if( a > 0 && a < 10 )
{
	trace( "a は1から9までの数値です。" );
}
  • 条件A:a > 0  a が0より大きい
  • 条件B:a < 10  a が10より小さい


この例では条件A、Bの両方が成立する(true)ので、出力パネルには「a は1から9までの数値です。」と表示されます。

ORで条件を組み合わせる

どちらかの条件が成立するだけで処理を実行したいときは、OR(||)記号を使います。

var a:Number = 5;

if( a < 0 || a > 10 )
{
	trace( "a は0より小さいか、10より大きい数値です。" );
}
  • 条件A:a < 0  a が0より小さい
  • 条件B:a > 10  a が10より大きい


この例では条件A、Bのどちらも成立しない(false)ので、出力パネルにはなにも表示されません。

中括弧の省略

各コードブロックに文がひとつしかないときには、次のように括弧を省略することもできます。

var a:Number = 5;

if( a < 10 )
	trace( "a は10より小さい" );
else if( a == 10 )
	trace( "a はずばり10" );
else
	trace( "a は10以上" );


不用意に省略すると、うまくいかない原因にもなるため、常に中括弧を書くようにしましょう。