본문 바로가기

와사비크래커 IT Tip/언어

[JAVA] 연산자

728x90
반응형

1     연산자

1.1    연산자란?

자바에서 사용되는 연산자(operator)는 변수와 상수 등 데이터 대상에 대한 연산 동작을 행하는 기호들을 말한다. 이때 연산(operation)의 대상이 되는 것을 피연산자(Operand)라고 한다.

 

연산자의 종류

1.2    연산자의 종류

1.2.1     단항연산자

-      연산자라고도 하며, 단항연산자는 연산에 필요한 피연산자가 1개라는 것을 의미한다.

1)    부호 연산자: +, -

-       피연산자의 부호를 변경하는데 사용되며, boolean형과char형을 제외한 나머지 기본형에 사용한다.

-        ‘+’의 경우 피연산자에 양수1을 곱한 결과를, ‘-‘의 경우 피연산자에 음수 1을 곱한 결과를 얻는다.

2)    증감 연산자: ++, --

-       일반적 당항 연산자는 피연산자의 왼쪽에 위치하지만, 증감연산자는 양쪽 모두 가능하다.

-       ‘-‘ 연산자를 어느 위치에 놓는가에 따라 연산결과가 달라 질 수 있다.

-       증가 연산자(++): 피연산자(operand)의 값을 1 증가시킨다.

-       감소 연산자(--): 피연산자(operand)의 값을 1 감소시킨다.

++x: 선증가  --x: 선감소        x++: 후증가       x--: 후감소

3)    비트전환 연산자: ~

-       비트전환 연산자’~’는 정수형과 char형에만 사용될 수 있으며, 피연산자를 2진수로 표현했을 때, 0 110으로 바꾼다.

-       ‘~’연산자에 의해 비트전환 되고 나면, 피연산자의 부호가 반대로 변경된다.

4)    논리부정 연산자: !

-       boolean형에만 사용할 수 있으며, truefalsefalsetrue로 변경한다.

-       조건문과 반복문의 조건식에 사용되어 조건식을 보다 효율적으로 만들어 준다.

1.2.2     산술연산자

두개의 피연산자를 취하는 이항 연산자이며, 사칙 연산자, 나머지 연산자, 쉬프트 연산자등이 있다.

1)    사칙 연산자: +, -, *, /

-       곱셈 ’*’, 나눗셈 ’/’, 연산자가 덧셈 ’+’, 뺄셈 ’-‘ 연산자보다 우선순위가 높다.

-       int(4byte)보다 크기가 작은 자료형은 int형으로 형변환 후에 연산을 수행한다.

Byte + short -> int + int -> int

-       두 개의 피연산자 중 자료형의 표현범위가 큰 쪽에 맞춰서 형변환 된 후 연산을 수행한다.

Int + float -> float + float -> float

-       정수형 간의 나눗셈에서 0으로 나누는 것은 금지되어 있다.

2)    나머지 연산자: %

-       왼쪽의 피연산자를 오른쪽 피연산자로 나누고 난 나머지 값을 돌려주는 연산자이다.

-       boolean형을 제외하고는 모든 기본형 변수에 사용할 수 있다. 나머지 연산자는 주로 짝수, 홀수 또는 배수 검사등에 주로 사용된다.

3)    쉬프트 연산자 : <<, >>, >>>

-       정수형 변수에만 사용할 수 있다. 피연산자의 각 자리(2진수 자리)를 오른쪽 또는 왼쪽으로 이동시킨다.

-       오른쪽으로 n자리를 이동하면 피연산자를 2n로 나눈 것과 같은 결과를, 왼쪽으로 n자리를 이동하면 2n으로 곱한 것과 같은 결과를 얻을 수 있다.

-       X << nx * 2n의 결과와 같다.

-       X >> n x / 2n의 결과와 같다.

-       ‘<<’ 연산자의 경우 피연산자의 부호에 상관없이 자리를 왼쪽으로 이동시키며 빈칸을 0으로 채움.

-       ‘>>’연산자의 경우 빈자리를 1로 채움.

-       ‘>>>’연산자는 부호에 상관없이 항상 0 으로 빈자리를 채움,

 

1.2.3     비교 연산자

두 개의 변수 또는 리터럴을 비교하는 데 사용되는 연산자로, 주로 조건문과 반복문의 조건식에 사용되며, 연산결과는 true 또는 false이다.

1)    대소비교 연산자 : <, >, <=, >=

-       두 피연산자의 크기를 비교하며 기본형 중에서는 boolean형을 제외한 나머지 자료형에 다 사용할 수 있지만 참조형에는 사용할 수 없다.

2)    등가비교 연산자 : ==, !=

-       두 피연산자에 저장되어 있는 값이 같은지 또는 다른지를 비교하는 연산자.

-       대소비교 연산자와는 달리 기본형은 물론 참조형, 즉 모든 자료형에 사용할 수 있다.

비교 연산자의 연산결과

1.2.4     논리 연산자

1)    논리 연산자: &&, ||

-       논리 연산자는 피연산자로 boolean형 또는 Boolean형 값을 결과로 하는 조건식만을 허용한다. 조건문과 반복문에서 조건식 간의 결합에 사용된다.

-       || (OR결합) – 피연산자 중 어느 한 쪽만 true이면 true를 결과로 얻는다.

-       && (AND결합) – 피연산자 양쪽 모두 true이어야 true를 결과로 얻는다.

-       ‘&&‘||’연산보다 우선순위가 높으므로 한 조건식에 함께 사용될 때는 괄호를 사용해서 우선순위를 명확히 해주는 것이 좋다.

2)    비트 연산자: &, |, ^

-       비트 연산자는 이진 비트연산을 수행한다. 값을 이진수로 표현했을 때의 각 자리수를 규칙에 따라 연산을 수행한다. 실수형인 floatdouble을 제외한 모든 기본형에 사용 가능하다.

-       | (OR연산자): 피연산자 중 한 쪽의 값이 1이면, 1을 결과로 얻는다. 그 외에는 0을 얻는다.

-       & (AND연산자): 피연산자 양 쪽이 모두 1이어야 1을 결과로 얻는다. 그 외에는 0을 얻는다.

-       ^ (XOR연산자): 피연산자의 값이 서로 다를 때만 1을 결과로 얻는다. 같을 때는 0을 얻는다.

1.2.5     삼항 연산자

비트 연산자의  2 진 연산결과

-       삼항 연산자 ‘ ? : ‘

(조건식) ?1 : 식2

result = ( x > 0 ) ? x : -x ;

삼항 연산자는 세 개의 피연산자를 필요로 하기 때문에 삼항 연산자로 이름 지어졌다.

-       조건식과 조건식이 참(true)일 때와 거짓(false)일 때 반환되는 값, 세가지가 삼항 연산자의 피연산자이다.

-       삼항 연산자의 조건식에는 연산결과가 true 또는 false인 식이 사용되어야 한다. 조건식의 연산결과가 true이면 식1을 결과로 얻고 false이면 식2를 결과로 얻는다.

1.2.6     대입 연산자

-       대입 연산자 : =, op=

대입 연산자는 변수에 값 또는 수식의 연산결과를 저장하는데 사용된다. 대입 연산자의 왼쪽에는 반드시 변수가 위치해야하며,  오른쪽에는 리터럴이나 변수 또는 수식이 올 수 있다.

-       대입 연산자는 모든 연산자들 중에서 가장 낮은 연산순위를 가지고 있기 때문에 제일 마지막에 수행되며 연산 진행방향이 오른쪽에서 왼쪽이다.

-       대입 연산자는 다른 연산자와 결합하여 ‘op=’ 와 같은 방식으로 사용될수 있다.

ex) i = i + 3 I += 3 같은 식이다.

 

대입연산자

반응형

'와사비크래커 IT Tip > 언어' 카테고리의 다른 글

[JAVA] 배열  (0) 2020.09.01
[JAVA] 조건문과 반복문  (0) 2020.08.31
[JAVA] 변수  (0) 2020.08.27
[JAVA] JAVA의 소개  (0) 2020.08.27
자바(Java) 자료타입  (0) 2020.07.28