연산자 종류
연산자 | 예시 | |
단항 연산자 | 항이 한개인 연산자 | ++NUM |
이항 연산자 | 항이 두개인 연산자 | num1+ num2; |
삼항 연산자 | 항이 세개인 연산자 | (5>3) ? 1 : 0 ; |
1. 대입 연산자
: 오른쪽 변수 값을 왼쪽 변수에 대입
2. 부호 연산자
: +, - 로 양수, 음수로 만듦 // num=-num 는 음수값 도출
3. 산술 연산자
: 사칙연산에서 사용. +,-,*,/,%
4. 증가/ 감소 연산자 (단항연산자)
연산자 | 기능 | 예시 |
++ | 항의 값에 1을 더한다 | val = ++num; // num+1후 대입 val = num++; // num을 val에 대입 후 num+1 |
-- | 항의 값에 1을 뺀다 | val = --num; // num-1 후 대입 val = num--; // num을 val에 대입 후 num-1 |
5. 관계 연산자 (이항연산자) / 결과값은 TRUE or FALSE
연산자 | 기능 | 예시 |
> , < , >= , <= | 왼쪽항이 조건에 부합할경우 true반환 (일반 부등호 공식) | num>=3; num<3; |
== | 두개 항의 값이 같으면 참, 아니면 거짓 | num == 3; |
!= | 두개 항이 다르면참, 아니면 거짓 | num ! = 3; |
6. 논리 연산자 / 결과값은 TRUE or FALSE / 관계연산자 하위에서 함께 사용
연산자 | 기능 | 예시 |
&& (논리 곱) | 두 항이 모두 참인 경우에만 참, 그렇지 않은 경우 거짓 | boolean val = (5>3) && (5>2); // TRUE |
|| (논리 합) | 두 항 중 하나의 값만 참이면 참, 두 항이 모두 거짓이면 거짓 앞 문장이 참인 경우 뒷 문장 판별 X (*단락회로평가) |
boolean val = (5>3) || (5<2); // TRUE 여러값 범위 한번에 표현할 때 (x <- 2) || ((2<= x) && (x<=4)) |
! (부정) | 단항 연산자. 참인 경우는 거짓으로, 거짓인 경우는 참으로 바꿈 | boolean val = ! (5>3); // FALSE |
✅ && 감싸는 연산이라 x를 가운데로 모아주는게 보기 편하다 👉 (2 >= x) && (x <=4) ✅ || 벌어지는 연산이라 바깥으로 벌어지는걸 표현해주는게 좋다 👉 (x <= 2) || (4 <= x) |
7. 복합 대입 연산자
: 연산자를 조합해 하나의 연산자처럼 사용. 산술연산자, 비트 연산자를 가지고 코드를 간결하게 표현.
연산자 | 기능 | 예시 |
+= -= *= /= %= |
왼쪽항에 오른쪽항을 연산 후 다시 왼쪽에 대입하는 원리 | num1 += 2; num1 = num1 + 2; 와 동일 num1 %= 2 num1 = num1 % 2; 와 동일 |
<<= >>= <<<= |
비트를 왼쪽 (오른쪽)으로 이동 후 그 값을 왼쪽에대입 << 는 왼쪽에 채워지는 비트값이 부호 비트와 동일 <<< 는 왼쪽에 채워지는 비트 값이 0 |
num1 >> 2; num1 = num1 >> 2; 와 동일 |
&= |= ^= |
두 항의 비트 연산 후 그 값을 왼쪽 항에 대입 | num1 |= num2; num1 = num1 | num2; 와 동일 |
num1 = num1 + 5; 👉 num1+=5;
num1 = num1 + num2; 👉 num1+= num2;
8. 조건 연산자 (삼항 연산자)
연산자 | 기능 | 예시 |
조건식 ? 결과 1 : 결과 2 ; | 조건식이 참이면 결과 1 / 조건식이 거짓이면 결과 2 | int num = (5>3) ? 10 : 20; |
int num = 10 ;
boolean isEven;
isEven = (num%2) == 0 ? true : false; // 조건식은 잘 짰는데 습관적으로 num%2=0으로 입력함
System.out.println(isEven); // true
* 이항연산자 쉽게 보다가 틀리지 말것!
연산자 우선순위
✔ 단항 > 이항 > 삼항 > 연산자
✔ () > 산술 > 관계 > 논리 > 대입
Q. 다음 연산자를 우선순위가 높은 순으로 배치하시오
&& == += ++
&& 논리연산자
== 관계연산자 (이항)
+= 복합 대입연산자
++ 단항연산자
👉 ①++ ② == ③ && ④ +=
다같이 놓고 나열하니까 진짜 헷갈린다 😇
'🔥 Vamos > Java' 카테고리의 다른 글
0822 | 자바의 정석 기초편 :: ch2-6 (2) | 2022.08.23 |
---|---|
0821 | Do it! 자바 프로그래밍 입문 :: 3장 '자바의 여러가지 연산자' 연습문제 (2) | 2022.08.21 |
0819 | 자바의 정석 기초편 :: ch2-5 (2) | 2022.08.19 |
0818 | Do it! 자바 프로그래밍 입문 :: 2장 '변수와 자료형' 연습문제 (1) | 2022.08.18 |
0817 | 자바의 정석 기초편 :: ch2-1~2-4 (2) | 2022.08.17 |