解説
プログラムでは、計算を行う記号を「演算子」(えんざんし)と呼び、加算を表わす「+(プラス)」や、減算を表わす「-(マイナス)」など、様々なものがあります。そして、それぞれに優先順位が設けられています。詳しくはプログラミング言語の仕様書やマニュアルに記載されています。
上 * 乗算 / 除算(乗算と除算の優先順位は同列) ↑ ↓ 下 + 加算 - 減算(加算と減算の優先順位は同列)
プログラムでは、ソースコード(人間が読めるように書いたプログラムの文章)を、上から下の行へ、そして同じ行では左から右へと順番に処理していきます。同じ優先順位の場合は、このルールの通り、左から右へと処理が進みます。
しかし、処理が左から右に順番に進まない時があります。それは、優先順位の違う演算子が混在している場合です。
ここでは四則演算を例にして、優先順位の違う演算子が混在した際の処理の流れを説明します。
a = 1 + 2 * 3 + 4;
1番目に行われる処理(乗算)
a = 1 + 2 * 3 + 4;
~~~~~~~
↓
a = 1 + 6 + 4;
~~~~~~~
2番目に行われる処理(左側の加算)
a = 1 + 6 + 4;
~~~~~~~
↓
a = 7 + 4;
~~~~~~~
3番目に行われる処理(加算)
a = 7 + 4;
~~~~~~~
↓
a = 11;
~~~~~~~
4番目に行われる処理(変数aに値を代入) a = 11;
この優先順位を変更したい場合は、丸括弧を使います。
a = (1 + (2 + 3)) * 4;
1番目に行われる処理(一番内側の丸括弧の処理)
a = (1 + (2 + 3)) * 4;
~~~~~~~~
↓
a = (1 + 5 ) * 4;
~~~~~~~~
2番目に行われる処理(丸括弧の処理)
a = (1 + 5) * 4;
~~~~~~~~~
↓
a = 6 * 4;
~~~~~~~~~
3番目に行われる処理(乗算)
a = 6 * 4;
~~~~~~~
↓
a = 24;
4番目に行われる処理(変数aに値を代入) a = 24;
サンプル
演算子と計算の順序を、JavaScriptで簡単に書いてみます。
<html>
<head>
<title>「演算子と計算の順序」のサンプル</title>
<script type="text/javascript">
var a;
a = 1 + 2 * 3 + 4;
document.writeln("a " + a + "<br>"); // 変数aの値を出力
a = (1 + (2 + 3)) * 4;
document.writeln("a " + a + "<br>"); // 変数aの値を出力
</script>
</head>
</html>
a 11 a 24
この記事は参考になりましたか?
既に会員の方はを行ってください。
- マンガで分かるプログラミング用語辞典連載記事一覧
- この記事の著者
-
柳井 政和(ヤナイ マサカズ)
クロノス・クラウン合同会社 代表社員http://crocro.com/オンラインソフトを多数公開。プログラムを書いたり、ゲームを作ったり、記事を執筆したり、マンガを描いたり、小説を書いたりしています。「めもりーくりーなー」でオンラインソフト大賞に入賞。最近は、小説家デビューして小説も書いています(『裏切りのプログラム』他)。面白いことなら何でもOKのさすらいの企画屋です。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
