Day 02의 마무리~
2항 연산자 & 3항 연산자
=2항 연산자 (Binary Operator)란?
2항 연산자는 피 연산자(Operand)가 두 개인 연산자를 의미합니다.
1. 산술 연산자 ( +, -, *(아스타링크), /, % )
/와 %는 둘 다 나누기이지만 가장 큰 차이!
/는 출력값에서 몫이 나오고, %는 출력값에서 몫으로 나눈 나머지의 값이 출력됩니다.
2. 비교 연산자 ( <, <=, >, >=, ==, != )
일반적으로 =는 같다지만, 자바에서는 대입이었고 같다고 표현하고 싶을 때는 ==
!=는 ==의 반대의 의미로 같지 않다.
나머지 비교 연산자는 일반 연산자와 같습니다.
3. 비트 연산자 ( &, |, ^ )
비트 연산자는 정수 숫자를 비트로 변환해서 연산을 수행합니다.
& : 논리곱, (And)의 의미, 두 비트 모두 1일 경우에만 연산 결과가 1이 나옵니다.
| : 논리합, (OR)의 의미, 두 비트 중 하나만 1이면 연산 결과는 1
^ : 배타적 논리합, (XOR)의 의미, 두 비트 중 하나는 1이고 다른 하나가 0일 경우 연산 결과는 1
4. 비트 이동 연산자 ( <<, >> )
비트 이동 연산자는 정수 데이터의 비트를 좌측 또는 우측으로 미는 것!
Ex)
a<<b이면 정수 a의 각 비트를 b만큼 왼쪽으로 이동(빈자리는 0으로 채워짐)
a>>b이면 정수 a의 각 비트를 b만큼 오른쪽으로 이동(빈자리는 정수 a의 최상위 부호비트와 같은 값으로 채워진다)
5. 논리 연산자 ( &, |, &&, || ) + if 맛보기
boolean에서만 사용 할 수 있따.
&&과 &은 산출 결과는 같지만 연산 과정이 조금 다르다.
||과 |도 마찬가지인데,
&&은 (AND와 같다는 것을 생각하면)
피연산자 모두가 true일 경우에만 연산 결과가 true이기 떄문에, 단 하나의 false가 있다면 전체 연산 식은 false이다.
||같은 경우에는, (OR과 같다는 것을 생각)
피연산자 중 단 하나의 true가 있다면, 연산 결과는 true이기 떄문에, 전체 연산 식은 true이다.
하지만 &과 |은 모든 피연산자 모두를 평가하지만, &&과 ||은 단 1개가 있느냐 없느냐 판단하기 떄문에,
더 효율적으로 연산 과정이 이루어진다.
- 출력값 :
거짓입니다.
x값 : 10, y값 :20
참입니다
x값 : 10, y값 :20
if, for while에 논리 연산이 자주 사용됩니다. 조건식을 비교하기위해서~
이건 몇 포스팅 뒤에 더 자세히 알아볼거예요
= 3항 연산자란?
- ( 조건식 ? 연산식1 : 연산식2 )
: 조건식의 결과값이 참이면 연산식1, 거짓이면 연산식2를 실행하라. (약간 if와도 비슷하다 생각이 든다)
- 조건식에는 boolean형 조건식이 들어갑니다.
중요한건 math.random()은 0<랜덤값<1이어서, 10이라는 정수를 나타내기위해서는 11을 곱해야만
정수형으로 표현했을 때 10이라는 값이 도출될 수 있습니다~
- 출력값
0.05855193855303231 (랜덤 한 수여서 아무 숫자나 정답)
5 (랜덤 한 수여서 아무 숫자나 정답)
3의 배수가 아닙니다
제일 중요함~
★★★★★★★★연산자 계산순서★★★★★★★★
- 소괄호 > 단항 > 이항 > 삼항 > 대입
'수업 복습하기 > Java' 카테고리의 다른 글
Day 03 - 스캐너(Scanner)란? (0) | 2021.08.18 |
---|---|
Day 03 - 배열 (Array) (0) | 2021.08.18 |
Day 02 - 단항연산자(Unary Operator) (0) | 2021.08.17 |
Day 02 - 형 변환 (Type Casting) 02 (0) | 2021.08.17 |
Day 02 - 형 변환 (Type Casting) 01 (0) | 2021.08.16 |