반응형
연산자
연산식은 반드시 하나의 값을 산출함
그렇기에 하나의 값이 올 수 있는 곳에는 어디든 연산식을 사용할 수 있음
int x = 3, y = 4;
int res = x + y; // res = 7
boolean res = (x + y) > 5; // res = TRUE
연산의 방향과 우선순위
- 단항, 이항, 삼항 연산자 순서로 우선순위를 가짐
- 산술, 비교, 논리, 대입 연산자 순서로 우선순위를 가짐
- 단상, 부호, 대입 연산자를 제외산 모든 연산의 방향은 왼쪽에서 오른쪽
- 복잡한 연산식에서는 괄호를 사용하는 것이 좋음
단항 연산자
부호 연산자
+, -
증감 연산자
++, --
boolean 타입을 제외한 모든 기본 타입의 피연산자에 사용 가능
증감 연산자는 위치에 따라 처리 순서가 바뀌니 사용에 유의해야 함
논리 부정 연산자
!
boolean 타입에만 사용 가능
두 가지 상태를 번갈아가며 변경하는 토글(toggle) 기능을 구현할 때에도 사용
이항 연산자
산술 연산자
+, -, *, /, %
피연산자들의 타입이 동일하지 않는다면 규칙에 따라 타입을 일치시킨 후 연산을 수행함
- 피연산자들이 byte, short, char 타입이면 모두 int 타입으로 변환한 후 연산
- 피연산자들이 모두 정수 타입이고 long 타입이 포함되어있다면 모두 long 타입으로 변환 후 연산
- 피연산자 중 실수 타입이 있을 경우, 허용 범위가 큰 실수 타입으로 변환한 후 연산
//잘못된 코드
byte a = 1;
byte b = 2;
byte res = a + b; // 모든 피연산자는 int로 변환된 후 연산되기에 잘못된 코드
//올바른 코드
byte a = 1;
byte b = 2;
int res = a + b; // 수정한 부분
문자열 결합 연산자
+
비교 연산자
<, <=, >, >=, ==, !=
boolean을 제외한 기본 타입에서 사용 가능
조건문, 반복문 등에서 주로 사용되며 흐름을 제어함
논리 연산자
&&, ||, &, |, ^, !
논리 연산자의 피연산자는 boolean 타입만 가능
&&와 ||는 &, | 보다 효율적으로 동작함
-> &&는 앞의 피연산자가 false면 뒤 피연산자를 검사하지 않고 넘어감
-> || 는 앞의 피연산자가 true면 뒤 피연산자를 검사하지 않고 넘어감
조건문, 반복문 등에서 주로 사용됨
대입 연산자
=, +=, -=, *=, /=, %=
오른쪽 피연산자의 값을 왼쪽 피연산자인 변수에 저장
삼항 연산자
조건식 ? 값_또는_연산자_1 : 값_또는_연산자_2
조건식이 참이면 "값_또는_연산자_1"이 연산의 결과가 된다
반대로
조건식이 거짓이면 "값_또는_연산자_2"가 연산의 결과가 된다
int res = 95;
char grade = (score > 90) ? 'A' : 'B'; // grade = 'A'
반응형
'Language > [Java] 자바 완전 정복' 카테고리의 다른 글
2주차_06. 클래스와 객체 (0) | 2022.01.27 |
---|---|
2주차_05. 참조 자료형 2 (0) | 2022.01.27 |
2주차_05. 참조 자료형 1 (0) | 2022.01.27 |
2주차_04. 제어문과 제어 키워드 (0) | 2022.01.27 |
1주차_02. 자료형 (0) | 2022.01.20 |