優先度4の演算子

*x * y乗算演算子
/x / y除算演算子
%x % y剰余演算子

二項算術演算子です。左結合性を持ちます。

オペランドは、int、long、realクラスのどれかでなければなりません。これらのクラスはオペランドに混在できます。


目次:


乗算演算子

除算演算子

剰余演算子

乗算演算子

オペランドに乗算を実行するための演算子です。

結果のクラスはオペランドの中で最も広い範囲を持つクラスになります。real > long > int


real r0 = 123.5 * 10.0; // Left is real, right is real, result is real.

real r1 = 123.5 * 10; // Left is real, right is int, result is real.

real r2 = 123.5 * 10L; // Left is real, right is long, result is real.

long l0 = 123L * 10L; // Left is long, right is long, result is long.

long l1 = 123L * 10; // Left is long, right is int, result is long.

int i0 = 123 * 10; // Left is int, right is int, result is int.


結果がクラスの値の範囲を越えた場合は例外がスローされます。


int max = 0.Max;

int result = max * 2; // Over flow. Exception will be thrown.

オペランドがproxyクラスを返す場合は、proxyクラスの実体が自動的に使用されます。proxyクラスのEntityゲッターを呼び出したのと同じ結果になります。


int i = 10;

real r = 10.5;

proxy pro = new proxy(i);

proxy pro2 = new proxy(r);

real r2 = pro2 * pro; // r2 is 105.

除算演算子

オペランドに除算を実行するための演算子です。

結果のクラスはオペランドの中で最も広い範囲を持つクラスになります。real > long > int。


real r0 = 123.5 / 10.0; // Left is real, right is real, result is real.

real r1 = 123.5 / 10; // Left is real, right is int, result is real.

real r2 = 123.5 / 10L; // Left is real, right is long, result is real.

long l0 = 123L / 10L; // Left is long, right is long, result is long.

long l1 = 123L / 10; // Left is long, right is int, result is long.

int i0 = 123 / 10; // Left is int, right is int, result is int.


結果の型がintかlong の場合は、剰余は切り捨てられます。

ゼロによる除算は例外がスローされます。

結果がクラスの値の範囲を越えた場合は例外がスローされます。

オペランドがproxyクラスを返す場合は、proxyクラスの実体が自動的に使用されます。proxyクラスのEntityゲッターを呼び出したのと同じ結果になります。


int i = 10;

real r = 10.5;

proxy pro = new proxy(i);

proxy pro2 = new proxy(r);

real r2 = pro2 / pro; // r2 is 1.

剰余演算子

オペランドに除算を実行して剰余を求める演算子です。

結果のクラスはオペランドの中で最も広い範囲を持つクラスになります。real > long > int。


real r0 = 123.5 % 10.0; // Left is real, right is real, result is real.

real r1 = 123.5 % 10; // Left is real, right is int, result is real.

real r2 = 123.5 % 10L; // Left is real, right is long, result is real.

long l0 = 123L % 10L; // Left is long, right is long, result is long.

long l1 = 123L % 10; // Left is long, right is int, result is long.

int i0 = 123 % 10; // Left is int, right is int, result is int.


ゼロによる除算は例外がスローされます。

結果がクラスの値の範囲を越えた場合は例外がスローされます。

オペランドがproxyクラスを返す場合は、proxyクラスの実体が自動的に使用されます。proxyクラスのEntityゲッターを呼び出したのと同じ結果になります。


int i = 10;

real r = 10.5;

proxy pro = new proxy(i);

proxy pro2 = new proxy(r);

real r2 = pro2 % pro; // r2 is 0.5.

Copyright © Rice All rights reserved.