この章では算術演算子について説明します。
算術演算子とは計算するための記号です。 number1+number2は加算を行っているのですが、number1には5、number2には3が入っているので、この変数の値同士を足しています。
特に数値を変数に入れる必要性がないのであればと計算していただいても結構です。
number1-number2は減算を行っているのですが、number1には5、number2には3が入っているので、この変数の値同士を引いています。
特に数値を変数に入れる必要性がないのであればと計算していただいても結構です。
は乗算を行っているのですが、number1には5、number2には3が入っているので、この変数の値同士を掛けています。
特に数値を変数に入れる必要性がないのであればと計算していただいても結構です。
number1/number2は除算を行っているのですが、number1には5、number2には3が入っているので、この変数の値同士を割っています。
特に数値を変数に入れる必要性がないのであればと計算していただいても結構です。
number1%number2は剰余を行っているのですが、number1には5、number2には3が入っているので、この変数の値同士の割り算の余りを算出します。
特に数値を変数に入れる必要性がないのであればと計算していただいても結構です。
は掛け算と足し算を行っているのですが、計算の優先順位は掛け算が先です。
掛け算を行ってから足し算を行います。
これは算数の計算順序と同じです。
足し算から計算したい場合はと、カッコを足し算に付け加えてください。
カッコを付けることで優先順位が掛け算より高くなります。
以下の例は先ほどの例を書き換えた例です。
一度計算結果を変数に入れてから、printfで出力しています。
次の例は型が違うデータ同士の計算の例です。 結果は以下の通りです。
「結果は5.400000です」
「a+r」の部分でint型の変数とdouble型の変数を足しています。
このようにサイズの小さい型とサイズの大きい型を足すとサイズが大きい型に統一されてから計算されます。
サイズの大小は以下のようになります。 ですので、「a+r」はaの値が2.0に変換されるのでとなります。
つまり、int型がdouble型に変換されてから足されます。
では次の例をみてみましょう。 「a*g」は掛け算ですので、足し算より優先的に計算されます。
そしてaがint型、gがlong型なので、精度の高いlong型に統一されます(つまり、計算する前からaはlong型に統一されます)。
そして、その結果をdouble型のrと足します。
long型とdouble型はどちらが精度が高いでしょうか?下を見ていただければわかりますが、double型のほうが高いですので「a*g」の結果である12はdouble型に変換されてから、3.567を足します。
つまり、式の中で変数の型が異なる時、一番大きい型(精度の高い型)に統一されます。