算術演算子

最も単純な演算子がこの算術演算子です。
ここで、登場してくる演算子は以下の5つです

+
加算
-
減算
*
乗算
/
除算
%
剰余算

+ ,- ,*,/ それぞれ足し算、引き算、掛け算、割り算を返す演算子です。
プログラム未経験の方は、わかりずらいと思いますが掛け算は * 割り算は / を
使うことを覚えておいてください。

最後に出てきた、剰余算は除算( / )演算子で割った余りを返す演算子です。
では、実際に算術演算子を使ったプログラムを作っていきます。

サンプルプログラム(Sanjutu.java)

class  Sanjutu{
    public static void main(String args[]){
int x = 15; int y = 4; System.out.println("x + y =" + (x + y)); //加算 System.out.println("x - y =" + (x - y)); //減算 System.out.println("x * y =" + (x * y)); //乗算 System.out.println("x / y =" + (x / y)); //除算 System.out.println("x % y =" + (x % y)); //剰余算
} }
プログラムをコピーする場合すべて選択をクリックしてください。

Sponsored link

コンパイル・実行してみます。

実行結果からわかるようにこのような結果になります。
でも、ここでひとつ気になることがあります。
x / y つまり 15 / 4の値が 3 になっていることです。
本来なら答は 3.75になるはずです。

java言語の場合は整数値同士の演算の場合は演算結果も整数になります。
この場合は x も y も int 型 の整数です。したがってint 型の値が返されたわけです。
したがって、少数点以下は切り捨てられました。

では、もしオペランドの値に浮動小数値(つまり double 型)が含まれた場合はどうなるでしょう?
結論から言いますと、値はdoublu型になります。
また、オペランドにlong型が含まれていた場合はどうなるでしょう。
それは、long型が返されます。

なぜ、int 型と long型ではlong型が優先されlong型が返されるのでしょうか?

それは、型の値の範囲がlong型の方が広いからです。

int型はサイズ 32bitで 値の範囲は-2147483648〜 2147483648で
long型はサイズ 62bitで値の範囲は-9223372036854775808〜9223372036854775808
でしたよね。そのためlong型になるわけです。

では、もうひとつdouble型を使って先ほどのプログラム(Sanjutu.java)を書き換えて見ます。

サンプルプログラム(Sanjutu1.java)

class  Sanjutu1{
    public static void main(String args[]){
int x = 15; double y = 4; System.out.println("x + y =" + (x + y)); //加算 System.out.println("x - y =" + (x - y)); //減算 System.out.println("x * y =" + (x * y)); //乗算 System.out.println("x / y =" + (x / y)); //除算 System.out.println("x % y =" + (x % y)); //剰余算
} }

プログラムをコピーする場合すべて選択をクリックしてください。

Sponsored link

コンパイル・実行してみます。

yの値をdouble型に変えてみました。
全ての値が少数点のついたdoublu型に変わったのがわかりますよね

ページのトップへ戻る