算術式

データに対していろいろな演算を行うことができます。演算子とデータ、変数などから算術式をつくります。

算術式(代表的なもののみ)

  • 四則演算(加算、減算、乗算、除算、剰余算)
    • +(加算演算子)   1+2+3、x+y+1
    • -(減算演算子)    1-2-3、x-y-1
    • *(乗算演算子)    1*2*3、x*y*2
    • /(除算演算子)    1/2/3、x/y/2
    • %(剰余算演算子)    7%3、x%3
  • 連結

「+」で2つの文字列データをつなぎます。

"Masayuki "+"Shio"
  • 括弧

計算の優先順位は通常の計算と同様です。優先順位は下記の順番に高くなっています。

*/% >> +

必要に応じて括弧を用いた計算ができます。(x+2)*3

データ型の異なるものに関する演算

文字列と数値のデータ間で「+」が使用された場合には、数値を文字列として処理を行います。

"1"+2 //結果は文字列「"12"」になる

このようにデータ型の異なるもの変換することをキャスティングといいます。この場合には、数値が文字列にキャストされて連結の演算が行われたことになります。

上記の「+」を除く四則演算が数値以外のデータに使用されている場合には、データを数値にキャストした後に演算が行われます。数値を「"」でくくった文字列の場合には、そのまま数値として変換されます。そうでない文字列の場合には、「NaN」(not a numberの略)という値に変換されます。

"9"-2  //結果は「7」になる

"Flash"-2 //結果は「NaN」になる

自動でキャストが行われると都合の悪い場合には、キャストの方法を明示してキャストすることもできます。

算術式の結果

変数の値を参照するのと同様に、算術式の結果を代入したり参照したりすることができます。

x = 123; y = "45"; trace(x+y); // 12345と表示される

trace("12345"*1); // 12345と表示される

trace("Masayuki"*1); // NaNと表示される

x = x + 1; // 変数xの値に1を加えたものをxに代入(xの値が1増える)

name = first_name + " " + last_name; // 2つの変数の値を空白文字をはさんで連結して代入

練習問題

  1. 次のプログラムで、画面に出力される変数xの値は何か答えよ。
    x = 1;
    
    x = x + 5;
    
    x = x * 2;
    
    trace("x = "+x);
    
  2. 次のプログラムは商品の値段から消費税を求めるプログラムですが、処理が一つ足りません。足りない処理を答えよ。
    var price = 500;
    
    var tax = price * rate / 100;
    
    trace ("価格"+price+"円の品物の消費税は"+tax+"円です。");

練習問題の答