델파이
델파이의 연산자
띠리
2007. 7. 11. 10:34
프로그램 중에 연산자를 사용해서 데이터를 조작할 수 있다.
연산자에는 아래와 같은 연산자들이 있다.
■ 대입 연산자
대입은 = 가 아니라 := 이다.
=앞에 반드시 콜론을 붙인다.
= 는 비교연산자로 쓰인다.
사용예
X := 99;
■ 산술 연산자
산술연산자는 수치 연산을 위한 연산자이다.
■ 비트 연산자
비트 연사자는 정수형의 변수의 비트를 조작할 때 사용한다.
■ 관계 연산자
관계연산자는 비교를 할때 사용한다.
보통 if문과 함께 사용한다.
C에서는 같은지르 비교할때는 == 을 사용하지만 델파이에서는 = 을 사용한다.
사용예
if nDat > 0 then
begin
nDat := nDat * 20;
nRet := funA(nDat);
end;
■ 논리 연산자
논리 연산자는 Boolean형의 변수에 대해 사용한다.
■ 어드레스 연산자
어드레스 연산자는 @를 사용하면 변수나 프로시져, 펑션, 메소드의 어드레스를 얻을 수있다.
결국 이런 것들에 @를 붙이면 이것들에 포인터가 된다.
사용예
var
nDat: Integer;
pnDat: ^Integer;
begin
...
pnDat := @nDat;
...
end;
■ 집합 연산자
집합 연산자 in 은 어떤 값이 집합의 멤버인지 아닌지를 판달할 때 사용한다.
사용예
if ItemA in SetA then
begin
...
end;
또는 <=, =>, = 는 집합의 비교에 사용한다.
예를 들면 A가 B에 포함되는지 아닌지를 판단할때는 A <= B로 쓴다.
■ 문자열 연산자
문자열을 붙여 쓸때 + 를 사용한다.
사용예
Str := Str1 + ' # ' + Str2;
비교연산자 <, >, <=, =>, =, <> 는 문자 코드 순에 따라서 문자열을 비교한다.
문자열 주작은 이밖에도 많은 문자열 조작 함수를 사용한다.
◆ 연산자 우선순위
연산자의 우선순위는 아래와 같다.
연산자에는 아래와 같은 연산자들이 있다.
■ 대입 연산자
대입은 = 가 아니라 := 이다.
=앞에 반드시 콜론을 붙인다.
= 는 비교연산자로 쓰인다.
사용예
X := 99;
■ 산술 연산자
산술연산자는 수치 연산을 위한 연산자이다.
기호 | 의미 | 예 |
+ | 더하기 | Y := X + 1; |
- | 빼기 | Y := X - 1; |
* | 곱하기 | Y := 3.14 * X; |
/ | 실수 나누기 | Y := X / 3.14; |
div | 정수 나누기 | K := N div 2; |
mod | 나머지 | N := M mod 2; |
■ 비트 연산자
비트 연사자는 정수형의 변수의 비트를 조작할 때 사용한다.
기호 | 의미 | 예 |
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 | 부정 | M := not N; |
■ 관계 연산자
관계연산자는 비교를 할때 사용한다.
보통 if문과 함께 사용한다.
C에서는 같은지르 비교할때는 == 을 사용하지만 델파이에서는 = 을 사용한다.
사용예
if nDat > 0 then
begin
nDat := nDat * 20;
nRet := funA(nDat);
end;
■ 논리 연산자
논리 연산자는 Boolean형의 변수에 대해 사용한다.
기호 | 의미 | 예 |
or | 논리합 | F := F1 or F2; |
and | 논리곱 | F := F1 and F2; |
xor | 배타적 논리합 | F := F xor True; |
not | 부정 | F := not F1; |
■ 어드레스 연산자
어드레스 연산자는 @를 사용하면 변수나 프로시져, 펑션, 메소드의 어드레스를 얻을 수있다.
결국 이런 것들에 @를 붙이면 이것들에 포인터가 된다.
사용예
var
nDat: Integer;
pnDat: ^Integer;
begin
...
pnDat := @nDat;
...
end;
■ 집합 연산자
집합 연산자 in 은 어떤 값이 집합의 멤버인지 아닌지를 판달할 때 사용한다.
사용예
if ItemA in SetA then
begin
...
end;
또는 <=, =>, = 는 집합의 비교에 사용한다.
예를 들면 A가 B에 포함되는지 아닌지를 판단할때는 A <= B로 쓴다.
■ 문자열 연산자
문자열을 붙여 쓸때 + 를 사용한다.
사용예
Str := Str1 + ' # ' + Str2;
비교연산자 <, >, <=, =>, =, <> 는 문자 코드 순에 따라서 문자열을 비교한다.
문자열 주작은 이밖에도 많은 문자열 조작 함수를 사용한다.
◆ 연산자 우선순위
연산자의 우선순위는 아래와 같다.
연산자 | 우선순위 |
@,not,^,- | 1(높음) |
*,/,div,mod,and,shl,shr | 2 |
+,-,or,xor | 3 |
=,<>,<,>,<=,>=,in | 4(낮음) |