Home About Rice Downloads Documents Others Cooker CookerGX
Documents  >  Refernce  >  expression
Riceにおける式

式とは、コード上でインスタンスのアドレスを返す要素である。式と演算子の組み合わせは、新たな式を構成する。

例えば


int i = 45;

右辺のリテラルは、45という値を持つ int型のインスタンスのアドレスを返す式である。

int j = i + 55;

右辺の算術式は、100という値を持つ int型のインスタンスのアドレスを返す式である。この算術式は、変数参照という式とリテラル(式)を加算演算子で結合してできている。


演算子

演算子は、実行する演算を指定する記号である。

一覧と優先順位

式は、演算子の優先順位に沿った順番で処理される。

演算子の一覧と優先順位を示す。


1
()x(y)メソッド呼び出し演算子
newnew int()new演算子
thisthisthis演算子
2
.x.ydot演算子
++x単項+演算子
--x単項-演算子
!!x論理否定演算子
3
*x * y乗算演算子
/x / y除算演算子
%x % y剰余演算子
4
+x + y加算演算子
-x - y減算演算子
5
<x < y小なり演算子
<=x <= y小なりイコール演算子
>x > y大なり演算子
>=x >= y大なりイコール演算子
6
==x == y値等価演算子
!=x != y値非等価演算子
$$x $$ y参照等価演算子
!$x !$ y参照非等価演算子
7
&x & y論理AND演算子
8
|x | y論理OR演算子

数字が小さいほど、優先順位が高い。つまり、先に評価される。

評価順序の変更

括弧によって括られた式は、優先的に評価される。

メソッド呼び出し演算子

メソッド名と引数で指定されたコードを実行する。引数は括弧の中の、カンマで区切られたゼロ個以上の式である。それは実行開始時にメソッドに渡される。

new演算子

クラス名と引数で指定されたフィッタを実行して、新しいインスタンスのアドレスを返す。引数は括弧の中の、カンマで区切られたゼロ個以上の式である。それは実行開始時にフィッタに渡される。

this演算子

this演算子は、クラスの現在のインスタンスを参照する。

dot演算子

dot演算子の左辺の式の返すインスタンスのメンバへのアクセスを提供する。

単項+演算子

単項+演算子は、同じ値を持つ新しいインスタンスのアドレスを返す。右辺の式の返すインスタンスの型は、int,long,realでなければならない。

単項-演算子

単項-演算子は、符号が反転した値を持つ新しいインスタンスのアドレスを返す。右辺の式の返すインスタンスの型は、int,long,realでなければならない。

論理否定演算子

論理否定演算子は、反転したブール値を持つ新しいインスタンスのアドレスを返します。右辺の式の返すインスタンスの型は、boolでなければならない。

算術演算子

二項演算子 "*/%+-" を算術演算子と呼ぶ。算術演算子の両辺の型はint,long,real型のどれかでなければならない。

例外的に、暗黙の型変換が算術演算で行われる。すなわち、int,long,real型は、算術演算において混在させることができる。

演算子の結果の型は被演算数に依存する。被演算数の中にreal型があれば、結果はreal型である。real型が無く、long型があれば、結果はlong型である。それ以外の結果はint型である。

乗算演算子

乗算演算子は、オペランドの値を乗算した値を持つ新しいインスタンスのアドレスを返す。演算子の結果の値が結果の型の範囲を越えるときは、例外がスローされる。

除算演算子

除算演算子は、オペランドの値を除算した値を持つ新しいインスタンスのアドレスを返す。演算子の結果の値が結果の型の範囲を越えるときは、例外がスローされる。

剰余演算子

剰余演算子は、オペランドの値を除算した余りの値を持つ新しいインスタンスのアドレスを返す。演算子の結果の値が結果の型の範囲を越えるときは、例外がスローされる。

加算演算子

加算演算子は、オペランドの値を加算した値を持つ新しいインスタンスのアドレスを返す。演算子の結果の値が結果の型の範囲を越えるときは、例外がスローされる。

減算演算子

減算演算子は、オペランドの値を減算した値を持つ新しいインスタンスのアドレスを返す。演算子の結果の値が結果の型の範囲を越えるときは、例外がスローされる。

連結演算子

両辺のオペランドの型がstringのとき、二項演算子+を連結演算子と呼ぶ。連結演算子は、オペランドを連結したstring型の新しいインスタンスのアドレスを返す。

関係演算子

二項演算子"<,<=,>,>="を関係演算子と呼ぶ。関係演算子のオペランドの型は同じでなければならない。また、それらの型はintかlongかrealでなければならない。(Ver 1.0.1.2 で変更) 関係演算子のオペランドの型は、intかlongかrealでなければならない。これらは、関係演算において混在させることができる。演算の結果の型は、boolである。

小なり演算子

演算子のオペランドの左辺が右辺より小さいときにtrueを、それ以外はfalseを返す。

小なりイコール演算子

演算子のオペランドの左辺が右辺より小さいか等しいときにtrueを、それ以外はfalseを返す。

大なり演算子

演算子のオペランドの左辺が右辺より大きいときにtrueを、それ以外はfalseを返す。

大なりイコール演算子

演算子のオペランドの左辺が右辺より大きいか等しいときにtrueを、それ以外はfalseを返す。

値比較演算子

二項演算子 "==,!=" を値比較演算子と呼ぶ。値比較演算子のオペランドの型は同じでなければならない。また、それらの型はintかlongかrealかstringかboolでなければならない。(Ver 1.0.1.2 で変更) 値比較演算子のオペランドの型がstringかboolのときは、左右のオペランドの型は同じでなければならない。オペランドの型がintかlongかrealのときは、それらをの値比較演算において混在させることができる。演算の結果の型は、boolである。

値等価演算子

演算子の左側のオペランドの値が右側と同じである場合はtrueを返す。それ以外の場合はfalseを返す。

値非等価演算子

演算子の左側のオペランドの値が右側と異なる場合はtrueを返す。それ以外の場合はfalseを返す。

参照比較演算子

二項演算子 "$$,!$" を参照比較演算子と呼ぶ。オペランドの型に制限はない。演算の結果の型は、boolである。

参照等価演算子

演算子の左側のオペランドが右側と同じインスタンスを参照している場合はtrueを返す。それ以外の場合はfalseを返す。

参照非等価演算子

演算子の左側のオペランドが右側と同じインスタンスを参照していない場合はtrueを返す。それ以外の場合はfalseを返す。

論理演算子

二項演算子 "&,|" を論理演算子と呼ぶ。論理演算子のオペランドの型はboolでなければならない。演算の結果の型は、boolである。

論理AND演算子

演算子の両方のオペランドが真のときに真を、それ以外は偽を返す。

論理OR演算子

演算子のどちらかのオペランドが真のときに真を、それ以外は偽を返す。

Copyright © Rice All rights reserved.