- 연산자 우선순위 및 연관성: 이 섹션에서는 Java에서 연산자 평가 순서가 결정되는 방법과 평가 순서를 수정하기 위해 괄호를 사용하는 방법을 설명합니다.
- 산술 연산자: 이 섹션에서는 더하기, 빼기, 곱하기, 나누기 및 모듈러스를 포함하여 Java의 표준 산술 연산자를 다룹니다. 또한 피연산자의 유형이 다른 이러한 연산자의 동작과 오버플로 및 언더플로의 가능성에 대해 설명합니다.
- 증가 및 감소 연산자: 이 섹션에서는 증가 및 감소 연산자에 대해 설명합니다. 접두사 및 접미사 형식을 포함하여 변수 값을 수정하는 데 사용되는 방법입니다.
- 관계 연산자: 이 섹션에서는 Java의 관계 연산자(항등, 부등식 포함)를 다룹니다. , 보다 큼, 보다 작음, 보다 크거나 같음, 보다 작거나 같음. 또한 피연산자의 유형이 다른 이러한 연산자의 동작을 설명합니다.
- 논리 연산자: 이 섹션에서는 AND, OR 및 NOT을 포함하여 Java의 논리 연산자를 다룹니다. 또한 논리 연산자의 단락 평가 및 연산자 우선 순위에 대해 설명합니다.
- 비트 연산자: 이 섹션에서는 AND, OR, XOR, NOT, 왼쪽을 포함하여 Java의 비트 연산자를 다룹니다. 시프트, 오른쪽 시프트 및 부호 없는 오른쪽 시프트. 또한 다양한 유형의 피연산자를 사용하는 이러한 연산자의 동작을 설명합니다.
비트 연산자 예시 https://cbh2031.tistory.com/69 - 할당 연산자: 이 섹션에서는 단순 할당, 복합 할당 및 삼항 연산자를 포함하여 Java의 할당 연산자를 다룹니다. 연산자입니다.
- 조건 연산자: 이 섹션에서는 조건 연산자(삼항 연산자라고도 함)에 대해 설명합니다. 조건 연산자는 if-else 문을 간략하게 작성하는 방법입니다.
- 연산자 오버로딩: 이 섹션에서는 Java가 사용자 정의 유형과 함께 사용될 때 연산자에 대한 사용자 정의 동작을 정의하는 기능인 연산자 오버로딩을 지원하지 않는다고 설명합니다.
연산자(Operator) : 어떠한 기능을 수행하는 기호(+, -, *, / 등)
- 피연산자(Operand) : 연산자의 작업 대상(변수, 상수, 리터럴, 수식)
2. 연산자의 종류
- 단항 연산자 : +, -, (타입), ++, --, ~, !
- 이항 연산자
- 산술 : +, -, *, /, %, <<, >>, >>>
- 비교 : >, <, >=, <=, ==. !=
- 논리 : &&(and), ||(or), &(비트곱), ^(비트차,x-or ), |(비트합) // ( ^ , | , & ) 2진법으로 특정값을 유지 하고 싶을 때 비트 연산자를 사용해야합니다.(and,not,or,x-or)
- 삼항 연산자 : ? :
- 대입 연산자 : =, op=
3. 연산자의 우선순위
(우선순위 높음) 단항 연산자 > 산술 연산자 > 비교 연산자 > 논리 연산자 > 삼항 연산자 > 대입 연산자 (우선순위 제일 낮습니다.)
- 괄호의 우선순위가 제일 높습니다.
- 산술 > 비교 > 논리 > 대입
- 단항 > 이항 > 삼항
- 곱셈, 나눗셈 > 덧셈, 뺄셈
- 연산자의 연산 진행 방향 : 왼쪽에서 오른쪽 (->)
- 단항, 대입 연산자 진행 방향 : 오른쪽에서 왼쪽 (<-)
- <<, >>, >>>는 덧셈 연산자보다 우선순위가 낮습니다.
- ||, |(OR)는 &&, &(AND)보다 우선순위가 낮습니다.
4. 증감 연산자 (++, --)
- 전위형 : ++i; -> 값이 참조되기 전에 증가
- 후위형 : i++; -> 값이 참조된 후에 증가
5. 부호 연산자(+, -)와 논리 부정 연산자(!)
- 부호 연산자 (+, -) : +는 피연산자에 1을 곱하고, -는 피연산자에 -1을 곱합니다.
int i = -10;
i = +i;
i = -i;
- 논리 부정 연산자 (!) : true는 false로, false는 true로. 피연산자가 boolean일 때만 사용 가능합니다.
6. 비트 전환 연산자 (~)
- 정수를 2진수로 표현했을 때, 1을 0으로 0을 1로 바꾼다. 정수형에만 사용 가능합니다.
7. 이항 연산자의 특징
- 이항 연산자는 연산을 수행하기 전에 피연산자의 타입을 일치시킵니다.
- int보다 크기가 작은 타입은 int로 변환 (byte, char, short -> int)
- 피연산자 중 표현 범위가 큰 타입으로 형 변환
char + int -> int + int -> int
float + int -> float + float -> float
long + float -> float + float -> float
float + double -> double + double -> double
- Math.round() : 소수점 첫째 자리에서 반올림한 값을 반환
Math.round(3141.592f) -> 3142
8. 나머지 연산자 (%)
- 나누기 한 나머지를 반환
- 홀수, 짝수 등 배수 검사에 주로 사용합니다.
9. 쉬프트 연산자 (<<, >>, >>>)
- 2ⁿ으로 곱하거나 나눈 결과를 반환
- 곱셈, 나눗셈보다 빠르다
x << n -> x * 2ⁿ
x >> n -> x / 2ⁿ
8 << 2 -> 8 * 2²
8 >> 2 -> 8 / 2²
10. 비교 연산자 (>, <, >=, <=, ==, !=)
- 피연산자를 같은 타입으로 변환한 후에 비교
- 결과 값은 true 또는 false
- 기본형(boolean 제외)과 참조형에 사용할 수 있으나, 참조형에는 ==와 !=만 사용할 수 있습니다.
11. 비트 연산자 (&, |, ^)
- 피연산자를 비트 단위로 연산한다.
- 실수형(float, double)을 제외한 모든 기본형에서 사용 가능합니다.
- OR 연산자 (|) : 피연산자 중 어느 한쪽이 1이면 1
- AND 연산자 (&) : 피연산자 양 쪽 모두 1이면 1
- XOR연산자 (^) : 피연산자가 서로 다를 때 1
12. 논리 연산자 (&&, ||)
- 피연산자가 반드시 boolean이어야 하며 연산 결과도 boolean입니다.
- &&가 ||보다 우선순위가 높다. && > ||
- OR 연산자 (||) : 피연산자 중 어느 한 쪽이 true이면 true
- AND 연산자 (&&) : 피연산자 양 쪽 모두 true이면 true
13. 삼항 연산자 (? :)
- 조건식의 연산 결과가 true이면 '식 1'의 결과를 반환, false이면 '식 2'의 결과를 반환합니다.
(조건식) ? 식 1 : 식 2
14. 대입 연산자 (=, op=)
- 오른쪽 피연산자의 값을 왼쪽 피연산자에 저장. 단, 왼쪽 피연산자는 상수가 아니어야 한다.
op= | = |
i += 3; | i = i + 3; |
i -= 3; | i = i - 3; |
i *= 3; | i = i * 3; |
i /= 3; | i = i / 3; |
i %= 3; | i = i % 3; |
i <<= 3; | i = i << 3; |
i >>= 3; | i = i >> 3; |
i >>>= 3; | i = i >>> 3; |
i &= 3; | i = i & 3; |
i ^= 3; | i = i ^ 3; |
i |= 3; | i = i | 3; |
i *= 10 + j; | i = i * (10 + j); |
'JAVA > 자바 문법' 카테고리의 다른 글
if,for,while /try-catch (0) | 2023.04.10 |
---|---|
배열 (2) | 2023.02.21 |
변수 (0) | 2023.02.20 |