数値の計算


■ 基本的な計算と演算子

すでに前の課題で、合計する時に+(プラス)記号を用いて加算の計算を行いました。このような機能を持つ記号を演算子と言います。Java言語では、足し算以外に以下のような演算子があります。

演算内容演算子使用例
加算+a=b+c;
減算-a=b-c;
乗算*a=b*c;
除算/a=b/c;
剰余(あまり)%a=b%c;

■ 演算子には優先順位がある

上記の演算子を用いて、加算や乗算などを組み合わせて使うことができます。
  • a=10+5*6;
  • b=10/5+6;
  • c=24/4/2;
  • d=55/(2+3);
上記のように、加減乗除の演算子と( )(カッコ)が組み合わされて使われた場合、次のような優先順位で計算がなされます。

優先順位演算子
( )(カッコ内の式)
* / %
+ -

同じ優先順位の演算子の場合は、式の左側から順に計算されます。
これらを考慮して、上記のa、b、c、dの答えを考えてみて下さい。

■ 整数型と浮動小数点型の混合計算

計算処理を行うとき、整数同士や小数点以下の数値同士で演算を行うことが多いですが、これらを混ぜて計算をすることもあります。その場合、演算結果はどのような値になるかを知っておく必要があります。Java言語では、次のように計算されます。
  • int型とint型
    int型で演算が行われる。
  • int型とdouble型
    演算の片方がdouble型の場合は、double型で演算が行われる。
  • double型とdouble型
    double型の演算が行われる。

上記の演算方法は、変数だけに限ったことではありません。直接数値を指定した時も 上記の約束に基づいて計算がされます。

■ インクリメント/デクリメント演算子

プログラムで良く使われるのは、「数のカウントを取る」あるいは「数を数える」という処理です。このような処理は、通常、次のように記述します。
        (1)  a=a+1;
        (2)  b=b-1;
(1)の式は、aに1を加え、答えをaに代入しておくというものです。(2)の式は、bから1を引き、答えをbに代入しておくものです。このような式は、プログラムではしばしば記述する必要があります。そこで、Java言語では、これを短く以下のように書くことができます。
        (1)  a++;
        (2)  b--;
この++と--の演算子のことをインクリメント演算子デクリメント演算子と呼びます。配列をfor命令を用いて使う例で、次のような記述をしました。この命令の中に書かれた i++ は、このインクリメント演算子が使用されている例です。
        for(i=0;i<10;i++){
                       ....
         }

プログラミング / 江木