연산자
: 연산에 사용하는 값을 항 ( operand )
: 연산에 사용하는 기호를 연산자 ( operator )
연산자 | 설명 | 예시 |
단항 | 항이 1개인 연산자 | ++num |
이항 | 항이 2개인 연산자 | num1 + num2 |
이항 | 항이 3개인 연산자 | (a>b) ? 1 : 0 |
종류
대입 연산자
: 변수에 값 대입.
: =
부호 연산자
: 부호 표현( 단항 연산자 )
: +(양) , - (음)
산술 연산자
: 산술계산 ( 이항 연산자 )
: + ,- ,* , /(몫), %(나머지)
증감/감소 연산자
: 값을 1만큼 증감/감소( 단항 연산자 )
: ++ , —
관계 연산자
: 대소 비교.
: >, <, ≥, ≤, ==, ≠
논리 연산자
: 참, 거짓 판단
: &&, ||, !(부정)
복합 대입 연산자
: 대입 연산자 + 타 연산자 >> 하나의 연산자.
: += , -=, *=, /=, %=, <≤, >≥, >>≥, &=, |=, ^=
조건 연산자
: 조건식이 참이면 결과1, 거짓이면 결과2 선택
: ( 조건식 ) ? 결과1 : 결과2
증가 / 감소 연산자의 위치 차이
: ++ 항의 값에 1을 더함
: - - 항의 값에 1을 뺌
문장이 끝나기전에( ; ) 피연산자 값이 증가 or 감소
int value = 10;
int num = ++value; // value 값에 1을 더한 후 num에 대입
// num에 11이 대입됨
int value = 10;
int num = value++; // 초기 value 값을 num에 대입
// 이후에 value 값이 1을 더함
// num에 10이 대입됨
논리 연산자 / 비트 논리 연산자
논리연산자
: 명제 기반 참, 거짓 판단.
&& ( 논리 곱 ) > 두 항이 모두 참인 경우에만 참
| | ( 논리 합 ) > 두 항 중 하나만 참이면 참
! ( 부정 ) > 참은 거짓으로, 거짓은 참으로 바꿈
비트 논리 연산자
: 비트 단위로 이루어지는 논리 연산.
& > 두 비트 값이 모두 1인 경우에만 1
| > 두 비트 값 중 하나라도 1인 경우 1
^ > 두 비트 값이 같은 값이면 0, 다른 값이면 1
~ > 0은 1로, 1은 0으로 비트 값을 바꿈
논리 연산자의 단락 회로 평가
논리 연산자(&&, ||)는 앞 조건의 결과로 최종 결과가 나와버리면
뒷 조건은 연산하지 않음 (=짧은 단위의 논리 연산)
반면, 비트 논리 연산자(&,|)는 앞 조건 결과와 상관 없이 끝까지 연산함
int num1 = 5;
int num2 = 100;
boolean flag = (num1 > 10) && (++num2 > 20);
// (num1 > 10)이라는 앞 조건이 false라서 flag는 false
// 때문에 (++num2 > 20)은 연산되지 않음
// ++num2가 실행되지 않아, num2 값은 그대로 100
출처:
'코딩목록 B > JAVA' 카테고리의 다른 글
[JAVA] 배열 Array (0) | 2022.09.19 |
---|---|
[JAVA] 반복문 (0) | 2022.08.22 |
[JAVA] 자료형 (0) | 2022.08.22 |
코드제 100 (1~8).java (0) | 2022.06.24 |
객체 생성자. (0) | 2021.05.11 |