JSプログラミング最初の一歩 JavaScript

数式との違い


では、ここで「入力した値に1を足した数を表示する」、というプログラムを作ってみましょう。ただし、その結果をいったん変数に入れて表示します。

str = prompt("値を入力してください","");

num = parseInt(str);

num = num + 1;

alert( num );

まず入力した文字列をstrという変数に入れています。そして、CIntを使って入力した文字列を数値に変換しnumに入れています。ここまでは前と同じです。そして、次の文

num = num + 1;

これが数学で習う数式ではありえない式です。数学では = は左辺と右辺が等しいということを意味します。ですから num = num + 1 などという式はありえません。しかし、プログラミングでは = は右辺から左辺への代入です。ですからnumに1を足した数をまたnumに入れる、という処理をすることになります。

この書き方は非常に良く使いますので num = num + 1 の処理を順を追ってしっかり把握しておきましょう。計算式はまず右辺が計算されます。この場合、右辺は num + 1 です。numに入っている値と1を足します。その値が右辺の値です。それから右辺の値を左辺に代入します。numに右辺の値が入ります。結果的にはnumの値は1増えることになります。

このようにプログラミングの代入式では右辺と左辺を分けて考え、まず右辺を処理し、それを左辺に代入する、ということを覚えておいてください。代入に = という記号をたまたま使っていますが、数学の = とは全く意味が違います。

 なお、このように変数に1を足す処理というのはよく使いますので、特別な書き方として変数名++という書き方をすることで変数に1を足す処理を行うことが出来ます。

num++;

問題5-4:
値を入力し、その数を二倍した数を表示しよう。
ただし、変数は一つしか使わず、その変数に二倍した数を入れて表示する。