조건 연산자
- 삼항 연산자
- 조건식의 결과가 true(참)인 경우와 false(거짓)인 경우에 따라 다른 결과가 수행됨
- if (조건문)을 간단히 표현할 때 사용 할 수 있음
package ch13;
import java.util.Scanner;
public class ConditionTest {
public static void main(String[] args) {
int max;
Scanner scanner = new Scanner(System.in); //(System.in) 은 표준 입력을 뜻함 / sout에서는 표준 출력!
System.out.println("입력 받은 두 수중 큰 수를 출력하세요\n");
int num1 = scanner.nextInt(); //여기서 입력 받음
int num2 = scanner.nextInt();
max=num1>num2?num1:num2;
System.out.println(max);
}
}
비트 연산자
- 대입연산자와 다른 연산자가 함께 쓰임
- 마스크 : 특정 비트를 가리고 몇 개의 비트 값만 사용할 때
특정 비트를 꺼내기 = 마스킹 !
ex) 0000101의 하위비트 세 자리를 알고 싶을 때, 0000111을 & 해보면 알 수 있다 -> 비트 켜기
ex) 0000101의 하위 비트를 꺼버리고 싶을 때, 0000000을 & -> 비트 끄기
- 비트켜기 : 특정 비트들만을 1로 설정해서 사용하고 싶을 때
예) & 00001111 ( 하위 4비트 중 1인 비트만 꺼내기) - 비트끄기 : 특정 비트들만을 0으로 설정해서 사용하고 싶을 때
예) | 11110000 ( 하위 4비트 중 0 인 비트만 0으로 만들기) - 비트 토글 : 모든 비트들을 0은 1로, 1은 0으로 바꾸고 싶을 때
package ch13;
public class BitTest {
public static void main(String[] args) {
int num1 = 5; // 00000101
int num2 = 10; // 00001010
System.out.println(num1 | num2); //00001111 -> 15
System.out.println(num1 & num2); //00000000 -> 0
System.out.println(num1 ^ num2); //두 개의 비트가 다를 때, 00001111 -> 15
System.out.println(~num1); //11111010 -> 음수가 됨 (보수를 취해서 -6 나옴)
System.out.println(num1 << 2); //(00000101 << 2) -> 00010100 -> 20
//비트가 n 옮겨진 만큼, 2의 n승이 곱해짐
System.out.println(num1); //5
System.out.println(num1 <<= 2); //20
System.out.println(num1); //20
}
}
연산자 우선 순위
'JAVA' 카테고리의 다른 글
1-13.JAVA 기초 - 조건문 switch-case (0) | 2022.01.07 |
---|---|
1-12.JAVA 기초 - 조건문 if (0) | 2022.01.07 |
1-10.JAVA 기초 - 연산자들2(관계/논리) (0) | 2022.01.06 |
1-9.JAVA 기초 - 연산자들(대입/부호/산술/복합대입/증감연산자) (0) | 2022.01.06 |
1-8.JAVA 기초 - 변하지 않는 상수와 리터럴/변수의 형 변환 (0) | 2022.01.06 |