본문 바로가기
JAVA

ep 02-2. 자바의 여러 가지 연산자

by L_SU 2022. 11. 13.

단항 연산자

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

 

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

 

앞에 붙을 경우 먼저 증가 시킨 후 변수의 값을 불러오고,

뒤에 붙을 경우 값을 불러온다음에 값을 증가시킨다.

 

+(양의 부호 연산자): 값을 양수로 만들어주는 것인데, 애초에 생략 가능하기에 잘 안 쓰인다.

 

-(음의 부호 연산자): 해당 변수에 -1를 곱해 양수 or 음수로 만든다.

 

~(비트 연산자): 정수형과 문자형 데이터 타입에서 사용 가능하다. ( 자료형은 전 글 참고)

피연산자의 2진수 표현 값을 반전 시킨다. 0 ☞ 1 , 1 0

이를 통해 비트 연산 후 +1 하면 양의 정수를 음의 정수로 변경 가능

 

!(논리부정 연산자): boolean형에서 사용 가능

true ☞ false, false ☞ true

 

이항 연산자(산술 연산자)

+, -, *, /, %(사칙 연산자 & 나머지 연산자) : boolean형을 제외한 모든 기본형 변수에 사용 가능

+의 경우 수 계산 뿐만 아닌 string형 문자를 연결하는 용도로도 사용 가능

크기가 작은 자료형과 큰 자료형이 계산하게 될 경우 큰 쪽으로 형이 자동으로 맞춰짐

ex) int + float -> float + float = float

나머지 연산자는 피연산자를 정수로만 지정 가능

 

<<, >>, >>>(쉬프트 연산자) : 2진수로 표현된 값의 각 자리를 오른쪽 또는 왼쪽으로 이동시킴

>> 와 >>의 차이점

양수일 경우엔 같지만 음수일 경우

>>는 오른쪽으로 한 칸 이동할 때 부호 비트를 1로 채우게 됨

>>>는 오른쪽으로 한 칸 이동할 때 부호 비트를 0으로 채우게 됨

 

이항 연산자(비교 연산자)

두 개의 변수 or 리터럴(상수)를 비교할 때 사용

결과는 true or false

이 또한 이항 연산자이기에 자료형이 다를 땐 큰쪽으로 자동 변환

 

>, <. >=, <= (대소 비교 연산자) : 기본형 중 boolean형 제외 다 사용 가능

참조형 사용불가

 

==, != (등가 비교 연산자): 두 피연산자에 저장되어 있는 값이 같은가 or 다른가를 비교함

기본형과 참조형 모두 사용 가능

 

&&, ||(논리 연산자): 사칙연산보다 연산순위가 낮기에 괄호를 추가로 많이 사용함

&&(AND 결합): 피연산자 둘 다 true여야 true 반환

||(OR 결합): 피연산자 중 하나만 true여도 true 반환

 

&, |, ^(비트 논리 연산자): 이진 비트 연산 수행

folat와 double형을 제외한 모든 기본형에 사용 가능

& (AND 연산자): 둘 다 1 이어야 1

|(OR 연산자): 둘 중 하나만 1 이면 1, 아닐 경우 0

^(XOR연산자, eXclusive(배타적) OR연산자): 둘의 값이 같지 않을 경우 1

 

삼항 연산자 & 대입 연산자

삼항 연산자 : 세 개의 피연산자를 필요로함,

형식

조건식 ? 가 조건식 ture 일 때 : 조건식이 false 일 때

간단한 if문 대체 가능

 

대입 연산자: 대입 연산자의 왼쪽엔 반드시 변수가 위치함, 오른쪽의 경우 리터럴 or 변수 or 수식

오른쪽의 결과값이 왼쪽에 할당

=(대입 연산자): 일반적인 대입 연산자

operator=(복합 대입 연산자) operator 자리에 산술 연산자 와 비트연산자가 위치할 수 있음

할당 연산자라고도 함

ex) a+=1; == a= a+1;

 

 

 

 

종류 연산자 우선 순위
단항
연산자
변수++, 변수-- 1
++변수, --변수, +, -, ~, !, (자료형) 2
이항 연산자 산술 연산자

*, /, % 3
+, - 4
비트 산술 연산자 <<. >>, >>> 5
비교 연산자 대소 비교 연산자 <. >, <=, >= instanceof 6
등가 비교 연산자 ==, != 7
논리연산자 비트 논리 연산자 & 8
^ 9
| 10
&& 11
|| 12
삼항
연산자
조건 ? 참 : 거짓 13
대입
연산자
=, +=, -=,*=, /=, %=, <<=, >>=, >>>=, &=, ^=, |= 14

 

연산자에 관해 표로 정리해봤다.

1이 제일 우선순위가 높은 것이고, 숫자가 커질 수록 우선 순위가 밀린다고 생각하면 되겠다.

'JAVA' 카테고리의 다른 글

ep 03-2. 클래스와 객체1  (0) 2022.11.20
ep 03-1. 제어 흐름 이해하기  (0) 2022.11.20
ep 02-3. 간단한 문제 풀이(1~5)  (0) 2022.11.13
ep 02-1.변수와 자료형  (0) 2022.11.13
ep 01. 용어 뜻 정리  (0) 2022.11.06