1. 기본 연산자
1-1. 항과 연산자
- 연산자(operator): 연산에 사용하는 기호
- 항(operand): 연산에 사용하는 값
- 연산자의 종류
- 단항 연산자: 항이 한 개인 연산자
- 이항 연산자: 항이 두 개인 연산자
- 삼항 연산자: 항이 세 개인 연산자
- 항의 크기가 작을수록 연산자 우선순위가 높음
1-2. 대입 연산자
- 대입 연산자(assignmner operator): 변수에 값을 대입하는 변산자
- 이항 연산자 중 우선순위가 가장 낮은 연산자
1-3. 부호 연산자
- 양수(+)
- 음수(-)
1-4. 산술 연산자
- 덧셈(+): 두 항을 더함
- 뺄셈(-): 앞에 있는 항에서 뒤에 있는 항을 뺌
- 곱셈(*): 두 항을 곱함
- 나눗셈(/): 앞에 있는 항에서 뒤에 있는 항을 나누어 몫을 구함
- 나머지(%): 앞에 있는 항에서 뒤에 있는 항을 나누어 나머지를 구함
- 산술 연산자의 우산순위는 일반 수학의 산술 연산과 같음
1-5. 증가 감소 연산자
- 증가(++): 항의 값에 1을 더함
- 감소(--): 항의 값에서 1을 뺌
- 피연산자 앞에 있으면 문장이 끝나기 전에 값 변환
- ex) value가 10일 때 num=++value;에서 num의 값은 10이지만 num = value++; 인 경우 num의 값은 10이다.
1-6. 관계 연산자
- >: 왼쪽 항이 클 경우 true, 아니면 false
- <: 왼쪽 항이 작을 경우 ture, 아니면 false
- >=: 왼쪽 항이 오른쪽 항보다 크거나 같으면 true, 아니면 false
- <=: 왼쪽 항이 오른쪽 항보다 작거나 같으면 true, 아니면 false
- ==: 두 개 항의 값이 같으면 true, 아니면 false
- !=: 두 개 항이 다르면 true, 아니면 false
1-7. 논리 연산자
- 논리 곱(&&): 두 항이 모든 true인 경우면 true
- 논리 합(||): 두 항 중 하나만 참이여도 true
- 부정(!): 단항 연산자, true를 false로 false를 true로 반환
- 단락 회로 평가(Short Circuit Evalumation; SCE): 논리 곱 연, 논리 합 연산 시 두 항을 모두 실행하지 않더라도 결과 값을 알 수 있는 경우에 실행 필요가 없는 나머지 항이 실행되지 않는 것
1-8. 복합 대입 연산자
- 우선순위가 가장 낮음
- +=: 두 항의 값을 더해서 왼쪽 항에 대입
- -=: 왼쪽 항에서 오른쪽 항의 값을 빼서 왼쪽 항에 대입
- *=: 두 항의 값을 곱해서 왼쪽 항에 대입
- /=: 왼쪽 항을 오른쪽 항으로 나누어 그 몫을 왼쪽 항에 대입
- %=: 왼쪽 항을 오른쪽 항으로 나누어 그 나머지를 왼쪽 항에 대입
- <<=: 비트를 왼쪽으로 쉬프트(이동)한 값을 왼쪽 항에 대입
- >>=: 비트를 오른쪽으로 쉬프트(이동)한 값을 왼쪽 항에 대입(왼쪽에 채워지는 비트의 값: 부호 비트와 동일)
- >>>=: 비트를 오른쪽으로 쉬프트(이동)한 값을 왼쪽 항에 대입(왼쪽에 채워지는 비트의 값: 0)
- &=: 두 항의 & 비트 연산 값을 왼쪽 항에 대입
- |= 두 항의 | 비트 연산 값을 왼쪽 항에 대입
- ^=: 두 항의 ^ 비트 연산 값을 왼쪽 항에 대입
1-9. 조건 연산자
- 삼항 연산자
- 연산자: 조건식? 결과1 : 결과2;
- 기능: 조건식이 ture이면 결과1, false이면 결과2 선택
2. 비트 연산자
2-1. 비트 논리 연산자
- &(AND) 연산자: 두 개의 비트 값이 모두 1인 경우에만 1
- |(OR) 연산자:비트 값이 하나라도 1이면 1
- ^(XOR): 같은 값이면 0, 다른 값이면 1
- ~(반전): 0은 1로, 1은 0으로 바꿈
2-2. 비트 이동 연산자
- 시프트(shift) 연산자라고도 함
- << 연산자: 왼쪽으로 비트를 이동
- >> 연산자: 오른쪽으로 비트를 이동, 채워지는 비트 값: 기존 부호 비트
- >>> 연산자: 오른쪽으로 비트를 이동, 채워지는 비트 값: 0
2-3. 연산자 우선순위
- 단항 연산자, 이항, 삼항 연산자 순서
- 대입 연산자의 우선순위가 가장 낮음
- 산술, 관계, 논리, 대입 연산자 순서이며 ()의 우선순위가 가장 높음
'JAVA > Do it! 자바 프로그래밍 입문' 카테고리의 다른 글
[Do it 자바 프로그래밍 입문] 04 제어 흐름 이해하기 (0) | 2023.03.23 |
---|---|
[Do it 자바 프로그래밍 입문] 03 자바의 여러 가지 연산자 연습문제 (0) | 2023.03.23 |
[Do it 자바 프로그래밍 입문] 02 변수와 자료형 연습문제 (0) | 2023.03.22 |
[Do it 자바 프로그래밍 입문] 02 변수와 자료형 (0) | 2023.03.22 |
[Do it 자바 프로그래밍 입문] 01 자바 프로그래밍 시작하기 연습문제 (0) | 2023.03.22 |