관리 메뉴

커리까지

자바의 연산자들-3 본문

자바

자바의 연산자들-3

목표는 커리 2021. 6. 14. 05:16
728x90
SMALL

조건 연산자

  • 삼항 연산자이며 true와 false에 따라 다른 결과가 수행됨
  • if를 간단히 표현할 때 사용 가능
연산자 기능
조건식 ? 결과 1 : 결과 2 조건식이 true면 결과 1이 실행되고 거짓이면 결과 2가 수행됨
package ch13;

import java.util.Scanner;

public class ContionTest {

    public static void main(String[] args) {

        int max;
        System.out.println("두 수를 입력 받아서 더 큰 수를 출력하세요\n");

        Scanner scanner = new Scanner(System.in);

        System.out.println("입력 1 : ");
        int num1 = scanner.nextInt();

        System.out.println("입력 2 : ");
        int num2 = scanner.nextInt();

        max = (num1 > num2) ? num1 : num2;

        System.out.println(max);

    }

}
>
두 수를 입력 받아서 더 큰 수를 출력하세요

입력 1 : 
10
입력 2 : 
20
20
  • 조건식 결과가 false이기 때문에 num2가 max로 들어가서 max 값이 20이 되었음

비트 연산자

  • 특정 비트를 가리고 몇 개만 사용할 때
  • 비트켜기는 특정 비트만 1로 설정해서 사용하는 것
  • 비트끄기는 특정 비트만 0으로 설정해서 사용하는 것
  • 비트토클은 모든 비트를 0은 1로, 1은 0으로
연산자 기능 예시
~ 비트의 반전(1의 보수) c = ~c;
& 비트 단위 AND 1 & 1 이면 1반환, 그 외는 0을 반환
비트 단위 OR
^ 비트 단위 XOR 두 개의 비트가 서로 다른 경우에 1을 반환
<< 왼쪽 shift c<<2는 변수 c를 2비트만큼 왼쪽으로 이동, 쉬프트한만큼 x * 2n
>> 오른쪽 shift c<<2는 변수 c를 2비트만큼 오른쪽으로 이동, 쉬프트한만큼 x / 2n
>>> 오른쪽 shift >>와 동일한 연산임, 채워지는 비트가 부호와 상관 없이 0
package ch13;

public class BitOpertionTest {

    public static void main(String[] args) {

        int num1 = 5;
        int num2 = 10;

        System.out.println(num1 | num2);
        System.out.println(num1 & num2);
        System.out.println(num1 ^ num2);
        System.out.println(~num1);

        System.out.println(num1 << 2);
        System.out.println(num1 <<= 2);
        System.out.println(num1);
    }

}
>
15
0
15
-6
20
20
20
  • 값을 이동하고 저장하려면 <<=처럼 다시 대입해줘야 한다.
728x90
LIST

'자바' 카테고리의 다른 글

switch-case 문  (0) 2021.06.18
조건문  (0) 2021.06.16
자바의 연산자들-2  (0) 2021.06.13
자바의 연산자들-1  (0) 2021.06.11
상수와 리터럴, 변수의 형 변환  (0) 2021.06.09
Comments