delphi.gif (306 バイト) 演算子の概要


プログラムの中で演算子を使って、データに対していろいろな操作を行うことができます。

演算子には

があります。演算子には優先順序があります。

演算子 優先順位 分類
@,not,^,- 1(最高) 単項演算子
*,/,div,mod,and,shl,shr 2 乗法演算子
+,-,or,xor 3 加法演算子
=,<>,<,>,<=,>=,in 4(最低) 関係演算子

(注意)この他にもいくつかの演算子(例えばas)がありますが、ここでは基本的な演算子のみを載せてあります。

 

 


-

delphi1.gif (322 バイト) 代入演算子

代入は=でなく:=です(=の前にセミコロンを付けます)。=は比較に使います。

X := -1;

 

-

delphi1.gif (322 バイト) 算術演算子

算術演算子とは数値の演算を行うとき使う演算子です。単項演算子の-(負数を作る)と二項演算子-(引き算)は同じマイナス記号を使います。以下に二項演算子を示します。

記号 意味
+ 足し算 Y := X + 1;
- 引き算 Y := X - 1;
* 掛け算 Y := 3.14 * X;
/ 実数の割り算 Y := X / 3.14;
div 整数の割り算 K := N div 2;
mod 剰余 N := M mod 2;

整数と実数の割り算で演算子が違うことに注意してください。

 

-

delphi1.gif (322 バイト)  ビット演算子

ビット演算子は整数型の変数のビットを操作するとき使います。

記号 意味
or 論理和 M := N or $8000;
and 論理積 M := N and $FF;
xor 排他的論理和 M := N xor $FFFF;
shr 右シフト M := N shr 1;
shl 左シフト M := N shl 1;
not 1の補数 M := not N;

 

-

delphi1.gif (322 バイト) 関係演算子

関係演算子は比較を行うとき使われます。ふつう、if文とともに使われます。C言語では「等しい」は==ですが、Pascalでは=です。

if X > 0 then
begin
  X := X - 1;
  Y := F(X);
end;
 

 

-

delphi1.gif (322 バイト) 論理演算子

倫理演算子はBoolean型の変数に対して使われます。

記号 意味
or 論理和 F := F1 or  F2;
and 論理積 F := F1 and F2;
xor 排他的論理和 F := F xor True;
not 1の補数 F := not F1;

 

-

delphi1.gif (322 バイト) アドレス演算子

アドレス演算子@を使うと変数,手続き,関数,メソッドのアドレスを得ることができます。つまり、これらの名前にに@を付けると、それらへのポインタとなります。

var
   X: Integer;
  P: ^Integer;  // 整数へのポインタ

begin
........

   P := @X;
.........
end; 

-

delphi1.gif (322 バイト) 集合演算子

集合演算子inはある値がその集合のメンバーかを判別するとき使います。

if a in ASet then
begin
....
end;

また、<=,=>,=は集合の比較に使います。例えばAがBに含まれるかどうかを判別するときは、A<=Bとします。

集合の使い方」も参照してください。

 

-

delphi1.gif (322 バイト) 文字列演算子

文字列を結合するときは+を使います。

Str := Str1 + '&' + Str2;

比較演算子<,>,<=,>=,=,<>は文字コード順に従って文字列を比較します。

文字列操作はこの他、多くの文字列操作ルーチンを使って行います。「文字列の操作」を参照してください。