본문 바로가기

개발지/Today I learn

[0710] 자바 기초 8 (연산자)

#연산자

: 피연산자로 새로운 값을 만들어내는 기호.

 

#산술연산자

연산자 기능
+(덧셈 연산자) 피연산자들을 더한 값을 반환
-(뺄셈 연산자) 왼쪽의 피연산자에서 오른쪽의 피연산자의 뺀 값을 반환
*(곱셈 연산자) 피연산자들을 곱한 값을 반환
/(나눗셈 연산자) 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 값을 반환
%(나머지 연산자) 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 나머지를 반환

*나눗셈 연산자와 나머지 연산자를 사용할 때, 오른쪽 피연산자로 0을 사용할 시, 에러 발생.

*피연산자 중 실수형이 존재할 시, 실수형이 아닌 피연산자도 실수형으로 형변환되어 계산된다.

 

#증감연산자

:변수의 값을 1씩 증가/감소 시키는 연산자

num1++; // num1 = num1 + 1;과 같습니다.
++num1; // num1 = num1 + 1;과 같습니다.

num2--; // num2 = num2 - 1;과 같습니다.
--num2; // num2 = num2 - 1;과 같습니다.

▪전위형 증감 연산자

-> 증감 연산을 먼저 수행한 후, 결과값을 적용

▪후위형 증감 연산자

-> 기존의 값을 먼저 적용한 후, 증감 연산을 수행

int num1 = 1;
int prefix = ++num1;
// 위 코드에서 prefix는 num1에서 ++가 된 결과값을 가진다. (전위형증감)
// 실행 후 num1 = 2, prefix = 2

int num2 = 1;
int postfix = num2++;
// 위 코드에서 postfix는 num2에서 ++가 되기 전 결과값을 가진다. (후위형 증감)
// 실행 후 num2 = 2, postfix = 1

 

#복합 대입 연산자

:복합 대입 연산자는 대입 연산자와 산술 연산자를 함께 조합하여 사용한다.

복합 대입 연산자 기능 예시(int num = 10) 출력
+= 피연산자들을 더한 값을 반환 num += 3; 13
-(뺄셈 연산자) 왼쪽의 피연산자에서 오른쪽의 피연산자의 뺀 값을 반환 num -= 5; 5
*(곱셈 연산자) 피연산자들을 곱한 값을 반환 num *= 2; 20
/(나눗셈 연산자) 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 값을 반환 num /= 4 2
%(나머지 연산자) 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 나머지를 반환 num %= 6 4

 

#비교 연산자

: boolean 타입의 조건식에 사용된다. 대소 비교 연산자 / 등가 비교 연사자가 있다.

 

(1) 비교 연산자

: boolean타입을 제외한 나머지 기본타입(int, long, char 등)에 사용할 수 있다.

 

구분 비교 연산자 설명
등가
비교
== 왼쪽과 오른쪽의 피연산자가 같으면 True 반환
!= 왼쪽과 오른쪽의 피연산자가 같지 않으면 True 반환
대소
비교
> / >= 왼쪽 피연산자가 오른쪽피연사보다 크면 / 크거나 같으면 True 반환
< / <= 왼쪽 피연산자가 오른쪽피연사보다 작으면 / 작거나 같으면 True 반환

*비교 연산자는 두개의 비교만 가능하다. (3개 이상의 항을 비교할 때는 뒤에 나오는 논리연산자를 혼합하여 사용한다.)

*char타입을 비교할 때는 주어진 문자에 해당하는 아스키코드값을 비교한다.

*등가 비교 연산자는 기본 타입은 기본 타입과, 참조 타입은 참조타입과 비교할 수 있다.

 

#논리 연산자

(1) AND 연산자 &&

: 피연산자의 논리값이 모두 True일 때 True를 반환, 둘 중 하나라도 True가 아니면 False를 반환한다.

(2) OR 연산자 ||

: 피연산자 중 하나라도 True면 True를 반환하며, 모두 False인 경우에 False를 반환한다.

(3) NOT 연산자 !

: 피연산자의 값을 반대로 바꾼다. (True은 False로, False는 True로 바꿈)

 

#연산자 우선순위

우선순위 연산자 내용
1 (), [] 괄호 / 대괄호
2 !, ~, ==, -- 부정 / 증감 연산자
3 +, /, % 곱셈 / 나눗셈 연산자
4 <, <=, >, >= 대소 비교 연산자
5 && AND 연산자
6 || OR 연산자
7 ? : 조건 연산자
8 +, +=, -+, /+, %= 대입/할당 연산자