-
개인 공부 후 정리 목적인 글입니다.
연산이란?
: 주어진 식을 계산하여 결과를 얻어내는 과정
연산자란?
: 연산에 사용하는 기호
- 연산자 우선순위
우선순위 연산자 형 1 일차식 ( ) [ ] . 2 단항 ++ -- +(양수부호) - (음수부호) ! ~ 3 산술 * / % 4 산술 +(덧셈) -(뺄셈) 5 비트 이동 << >> >>> 6 관계 <> <= >= 7 관계 == != 8 비트 곱 & (비트 AND) 9 비트 차 ^ (비트 XOR) 10 비트 합 | (비트 OR) 11 논리 곱 && (논리 AND) 12 논리 합 || (논리 OR) 13 조건 ? : (조건) 14 대입 = += -= *= /= %= &=
^= |= <<= >>= >>>=- 부호 연산자
+, - (변수에 연산자를 사용한다해서 값 자체가 변하는 것은 아님) - 산술 연산자
+(더하기), -(빼기), *(곱하기), /(나누기), %(나머지) <우선순위 : *, /, % > +, - > - 증감 연산자 (=단항 연산자)
++ (항의 값에 1을 더한다), -- (항의 값에 1을 뺀다)
a++ 기존 값을 먼저 대입 후 a값에 1 증가 ++a a값이 1 증가한 후 값을 대입 a-- 기존 값을 먼저 대입 후 a값에 1 감소 --a a값이 1 감소한 후 값을 대입 - 대입 연산자
연산자의 오른쪽 식의 결과를 왼쪽에 있는 변수에 대입
a = b b의 값을 a에 대입 a &= b a = a & b와 동일 a += b a = a + b와 동일 a ^= b a = a ^ b와 동일 a -= b a = a - b와 동일 a |= b a = a | b와 동일 a *= b a = a * b와 동일 a <<= b a = a << b와 동일 a /= b a = a / b와 동일 a >>= b a = a >> b와 동일 a%= b a = a % b와 동일 a >>>= b a = a >>> b와 동일 - 관계 연산자
항이 두 개인 이항 연산자로 true 또는 false의 논리 값을 내는 연산자
a < b a가 b보다 작으면 참 아니면 거짓 a >= b a가 b보다 크거나 같으면 참 아니면 거짓 a > b a가 b보다 크면 참 아니면 거짓 a == b a가 b와 같으면 참 아니면 거짓 a <= b a가 b보다 작거나 같으면 참 아니면 거짓 a != b a가 b와 같지 않으면 참 - 논리 연산자
AND, OR, XOR, NOT의 논리 연산을 하여 논리 값을 내는 연산자
! a a가 참이면 거짓, 거짓이면 참 a && b a와 b 모두 거짓인 경우에만 거짓 a || b a와 b 모두 참인 경우에만 참 a ^ b a와 b가 서로 다를 때 참 - 조건 연산자(=삼향 연산자)
형식 => 조건문 ? a : b
조건문이 참이면 값은 a, 거짓이면 값은 b - 비트 연산자
비트 단위로 &, |, ^, ~ 연산이 이루어진다.
a & b AND 연산 두 비트 모두 1 이면 1, 그렇지 않으면 0 a | b OR 연산 두 비트 모두 0 이면 0, 그렇지 않으면 1 a ^ b XOR 연산 두 비트가 다르면 1, 같으면 0 ~ a NOT 연산 1을 0으로, 0을 1로 변환 - 비트 이동 연산자
<<, >>, >>> 세 가지가 있다.
=> 피연산자는 byte, short, int, long, char 타입만 가능 / float, double, boolean은 사용할 수 없다.
a << b 왼쪽으로 비트를 b번 이동하는 연산자 a >> b 오른쪽으로 비트를 b번 이동하는 연산자 a >>> b >> 연산과 동일하게 비트를 b번 오른쪽으로 이동하는 연산자 ※ 여기서 비트를 이동했다고 해서 a의 값이 바로 변하지는 않는다
'언어 > Java' 카테고리의 다른 글
switch/case 문 (0) 2021.05.15 Java 조건문 & 반복문 (1) 2021.05.13 Java Scanner 클래스 (0) 2021.05.09 Java 변수와 자료형 (2) 2021.05.08 Java 프로그래밍 시작 (2) 2021.05.08 - 연산자 우선순위