Home About Rice Downloads Documents Others Cooker CookerGX
Documents  >  Tutorial  >  group2
第二群の演算子

この章の目的。

ドット呼出演算子、単項+演算子、単項-演算子、論理否定演算子について学びます。

第二群の演算子。

第二群の演算子は、以下のとおりです。


.x.yドット演算子
++x単項+演算子
--x単項-演算子
!!x論理否定演算子

ドット演算子

ドット演算子は、オペランドのメンバを呼び出すための演算です。

演算子の左側の式の返すインスタンスに対して、右側の式で指定したメンバを呼び出すように指示します。

例として、Circleクラス(Circle.88)のインスタンスに対して、ドット演算を実行してみましょう。


Circle cir = new Circle(10); // An instance with 10px radius.

int rad = cir.Radius; // rad is 10.


上記の例では、Circleクラスのインスタンスcirに対して、Radiusゲッタの呼び出しを指示しています。

左側のオペランドが、現在定義されているクラスと同じであれば、クラスのclosedメンバをドット演算で呼び出せます。そうでなければ、openメンバだけを呼び出せます。

上記の例がCircleクラスの定義の中にあるなら、インスタンスcirのclosedメンバをドット演算子で呼び出せます。なぜなら、cirがCircleクラスのインスタンスであり、Circleクラスの中でドット演算されたからです。

これを、クラスレベルのカプセル化と呼びます。Riceは、クラスレベルのカプセル化を採用しています。

単項+演算子

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

オペランドは、int、long、realクラスのどれかでなければなりません。これ以外のクラスに、単項+演算子を適用した場合、例外がスローされます。

例として、intクラスのインスタンスに対して、単項+演算子を実行してみましょう。


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.

単項-演算子

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

演算子の右側のオペランドは、int、long、realクラスのどれかでなければなりません。これ以外のクラスに、単項+演算子を適用した場合、例外がスローされます。

例として、intクラスのインスタンスに対して、単項-演算子を実行してみましょう。


int i = 10;

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

論理否定演算子

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

演算子の右側のオペランドは、boolクラスでなければなりません。これ以外のクラスに、論理否定演算子を適用した場合、例外がスローされます。

例として、boolクラスのインスタンスに対して、論理否定演算子を実行してみましょう。


bool b = true;

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

Copyright © Rice All rights reserved.