Home News DOC Class DL Others Cooker
Documents  >  Tutorial  >  優先度 3
優先度 3 の演算子

優先度 3 の以下の演算子について説明します。


++x単項+演算子
--x単項-演算子
!!x論理否定演算子
++++x前置++演算子
----x前置--演算子

単項の前置演算子です。


目次:


単項+演算子

単項-演算子

論理否定演算子

前置++演算子

前置--演算子

単項+演算子

単項+演算子は演算子の右側のオペランドと同じ値、同じ符号を持つ新しいインスタンスを返します。

オペランドは int、long、real クラスのどれかでなければなりません。それ以外の場合は、例外がスローされます。


int i = 10;

int j = i; // i and j refer to same instance.

int k = +i; // +i returns a new instance. Therefore, i and k refer to different instances.

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


int i = 10;

proxy pro = new proxy(i);

int j = +pro; // j is 10.

単項-演算子

単項-演算子は演算子の右側のオペランドと同じ値、反対の符号を持つ新しいインスタンスを返します。

オペランドは int、long、real クラスのどれかでなければなりません。それ以外の場合は、例外がスローされます。


int i = 10;

int j = -i; // j is -10.

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


int i = 10;

proxy pro = new proxy(i);

int j = -pro; // j is -10.

論理否定演算子

論理否定演算子は演算子の右側のオペランドの真偽値が反転した新しいインスタンスを返します。

オペランドは bool クラスでなければなりません。それ以外の場合は、例外がスローされます。


bool b = true;

bool c = !b; // c is false.

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


bool b = true;

proxy pro = new proxy(b);

bool b2 = !pro; // b2 is false.

前置++演算子

前置++演算子はオペランドの値を 1 加算した後に、その値を持つ新しいインスタンスを返します。

オペランドは int、long、real クラスのどれかでなければなりません。これ以外のクラスに前置++演算子を使うと例外がスローされます。

オペランドが、そのクラスの最大値を持つ場合に前置++演算子を使ってもオーバーフローは起こりません。クラスの最小値になります。


int i = 10;

int j = ++i; // j is 11. i is 11.

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


int i = 10;

proxy pro = new proxy(i);

int j = 10 + ++pro; // j is 21. i is decremented.

前置--演算子

前置--演算子はオペランドの値を 1 減算した後に、その値を持つ新しいインスタンスを返します。

オペランドは int、long、real クラスのどれかでなければなりません。これ以外のクラスに前置--演算子を使うと例外がスローされます。

オペランドが、そのクラスの最小値を持つ場合に前置--演算子を使ってもオーバーフローは起こりません。クラスの最大値になります。


int i = 10;

int j = --i; // j is 9. i is 9.

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


int i = 10;

proxy pro = new proxy(i);

int j = 10 + --pro; // j is 19. i is decremented.

Copyright © Rice All rights reserved.