1. 연산자는 무엇일까?
1) 연산자 (Operator) : 항을 이용하여 연산하는 기호 (+,-,*,/)
2) 피연산자 = 항 (Operand) : 연산자의 작업 대상(변수,상수,리터럴,수식)
2. 대입 연산자 (assignment operator)
1) 변수에 다른 변수나 값을 대입하는 연산자
2) 이항연산자 중 우선 순위가 가장 낮은 연산자
3) 왼쪽 변수 = 오른쪽 변수(또는 값,식)
3. 부호 연산자
1) 단항 연산자
2) 변수의 부호를 유지하거나(+), 바꿈(-)
4. 산술 연산자
1)사칙 연산자
+
-
*
/ 앞에 있는 항에서 뒤에 있는 항을 나누어 몫을 구함
% 앞에 있는 항에서 뒤에 있는 항을 나누어 나머지를 구함
2)복합 대입 연산자
대입연산자와 다른 연산자가 함께 쓰임
+=
-=
*=
/=
%=
5. 증가, 감소 연산자
1)단항연산자
2)변수의 값을 1 더하거나 1 뺄때 사용
3)연산자가 항의 앞에 있는가 뒤에 있는가에 따라 연산 시점과 결과가 달라짐.
4)문장(statement)의 끝(;)을 기준으로 연산 시점을 생각해야 함.
5) ++ 항의 값에 1을 더함 val = ++num; 먼저 num값이 1증가 후 val 변수에 대입
val = num++; val 변수에 기존 num 값을 먼저 대입한 후 num값 1 증가
6) -- 항의 값에 1을 뺌 val = --num; 먼저 num값이 1감소 후 val 변수에 대입
val = num--; val 변수에 기존 num 값을 먼저 대입한 후 num값 1 감소
6. 관계 연산자
1)이항 연산자
2)연산의 결과가 true(참), false(거짓)으로 반환 됨. 비교연산자라고도 함.
3)조건문,반복문의 조건식으로 많이 사용 됨.
4) >
<
>=
<=
==
!=
7. 논리 연산자
1)관계 연산자와 혼합하여 많이 사용 됨.
2)연산의 결과가 true(참), false(거짓)으로 반환 됨.
3) && (논리곱) 두항이 모두 참이 경우에만 결과 값이 참임. 그외는 거짓임.
|| (논리합) 두항중 하나의 항만 참이면 결과 값은 참임. 두항이 모두 거짓이면 결과 값은 거짓임.
! (부정) 단항 연산자임. 참인 경우는 거짓으로, 거짓인 경우는 참으로 바꿈.
4)short circuit evaluation
단락 회로 평가
- 논리 곱(&&)은 두 항의 결과가 모두 true일때만 결과가 true
=> 앞의 항의 결과가 false이면 뒤 항의 결과를 평가하지 않음.
- 논리 합(||)은 두 항의 결과가 모두 false일때만 결과가 false
=> 앞의 항의 결과가 true이면 뒤 항의 결과를 평가하지 않음.
8. 조건 연산자
1) 삼항 연산자
2) 조건식 ? 결과1 : 결과2 ==> 조건식이 참이면 결과1,
조건식이 거짓이면 결과2가 선택됨.
3) 조건식의 결과의 경우에 따라 다른 결과가 수행됨
4) if(조건문)을 간단히 표현할때 사용 할수 있음.
9. 이항 연산자의 특징
1) 연산을 실행하기 전에 피연산자의 타입을 일치시키는 작업을 함.
- 디폴트 타입인 int 보다 바이트 수가 작은 타입은 int로 변환시킴.
- byte, char, short -> int
예) byte + short -> int + int -> int
char + int -> int + int -> int
- 정수가 실수와 연산을 하게 되면, 표현 범위가 넓은 타입으로 형변환 됨.
예) int + float -> float + float -> float
double + float -> double + double -> double
10. 비트연산자
1) &, |, ^
2) 피연산자를 비트단위로 연산함
3) AND (&) 연산자 : 피연산자 중 둘 다 1이면 1임.
OR (|) 연산자 : 피연산자 중 어느 한쪽이 1이면 1임.
XOR (^) 연산자 : 피연산자가 서로 다를때 1임.
11. 쉬프트 연산자 (<<, >>)
'Web > Java' 카테고리의 다른 글
Java(6) - review (0) | 2022.01.28 |
---|---|
Java(5) - 반복문 (0) | 2022.01.28 |
Java(4) - 조건문 (0) | 2022.01.28 |
Java(2) - 변수 (0) | 2022.01.28 |
Java(1) - 개념 (0) | 2022.01.28 |
댓글