Burninghering's Blog
article thumbnail

조건 연산자

  • 삼항 연산자
  • 조건식의 결과가 true(참)인 경우와 false(거짓)인 경우에 따라 다른 결과가 수행됨
  • if (조건문)을 간단히 표현할 때 사용 할 수 있음

num에는 10이 들어가겠쥬?

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으로 바꾸고 싶을 때

좀 더 빠른 operation(연산)을 위해 사용됨

 

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
	}
}

 

연산자 우선 순위

가독성이 중요하므로 우선순위대로 코드를 작성!&nbsp;

profile

Burninghering's Blog

@개발자 김혜린

안녕하세요! 반갑습니다.