본문 바로가기

JAVA/혼자공부하는자바

[JAVA 기초] 연산자의 종류 2 (이항 연산자, 삼항 연산자)

728x90

비교 연산자

  • 피연산자의 대소 비교하여 true/false 산출: 조건문이나 반복문에서 실행 흐름 제어
  • 동등 비교 연산자는 모든 타입에서 사용 가능
  • 크기 비교 연산자는 boolean 외 모든 기본 타입에서 사용 가능
구분 연산식 설명
동등비교 피연산자1 == 피연산자2 두 피연산자의 값이 같은지를 검사
피연산자1 != 피연산자2 두 피연산자의 값이 다른지를 검사
크기
비교
피연산자1 > 피연산자2 피연산자1이 큰지를 검사
피연산자1 >= 피연산자2 피연산자1이 크거나 같은지를 검사
피연산자1 < 피연산자2 피연산자1이 작은지를 검사
피연산자1 <= 피연산자2 피연산자1이 작거나 같은지를 검사

char 형식에도 대소 비교를 할 수 있다.

 

=는 대입 연산자이므로 boolean타입에서 ==연산자를 사용하지 않으면 에러가 발생한다.

 

int로 선언한 1과 double로 선언한 1.0은 연산과정에서 int형이 double로 변환되기 때문에 같다고 출력된다.

 

 

double로 선언한 0.1과 float로 선언한 0.1은 false가 나온다.

그 이유는 실수타입을 저장할 때 부동 수소점 방식을 사용하여 정확하게 0.1을 저장할 수 없기 때문이다. 

 

float형식으로 선언해주어 비교해주거나

정수 형변환 후 비교한다.

 

 

논리 연산자(Logical Operators)

boolean 타입만 사용 가능하다.

 

불린 연산자에서는      
   

     
     
     
     
   

     
     
     
     
           
     
     
     
           
   

 

 

package sec02.exam09;

public class LogicalOperatorExample {

	public static void main(String[] args) {
		int charCode = 'A';
		
		if( (charCode>=65) & (charCode<=90) ) {       //&가 1개일 때는 앞의 값이 false여도 뒤에 값을 확인해봄
			System.out.println("대문자 이군요");
		}
		
		if( (charCode>97) && (charCode<=122) ) {      //&가 2개일 때는 앞의 값이 false이면 뒤에 값을 확인하지 않음
			System.out.println("대문자 이군요");
		}
		
		if( !(charCode<48) && !(charCode>57) ) {      //두 항이 모두 false이지만 !연산자로 인해 true값 출력
			System.out.println("0~9 숫자 이군요");
		}
		
		int value = 6;
		
		if( (value%2==0) | (value%3==3) ) {
			System.out.println("2 또는 3의배수 이군요");   //|가 1개일 때에는 앞의 값이 true여도 뒤에 값을 확인해봄
		}
		
		if( (value%2==0) | (value%3==3) ) {              //|가 2개일 때에는 앞에 값이 true면 뒤에 값을 확인하지 않음
			System.out.println("2 또는 3의배수 이군요");  
		}
		
	}

}


 

 

특별한 경우가 아니면 &&와 ||로 사용하는 것이 더 효율적이다.

 

 

 

대입 연산자(Assignment Operator)

오른쪽의 피연산자의 값을 왼쪽 피연산자인 변수에 저장

구분 연산식 설명
단순 대입 연산자 변수 = 피연산자 오른쪽 피연산자의 값을 왼쪽 변수에 저장
복합 대입 연산자 변수 + 피연산자 변수 = 변수+피연산자와 동일
변수 - 피연산자 변수 = 변수-피연산자와 동일
변수 * 피연산자 변수 = 변수*피연산자와 동일
변수 / 피연산자 변수 = 변수/피연산자와 동일
변수 % 피연산자 변수 = 변수%피연산자와 동일
변수 & 피연산자 변수 = 변수&피연산자와 동일
변수 | 피연산자 변수 = 변수|피연산자와 동일
변수 ^ 피연산자 변수 = 변수^피연산자와 동일

대입 연산자에 따른 출력 값이다.

 

^=, &=는 비트단위로 연산하여 출력할 수 있다.

 

 

 

 

삼항 연산자(ConditionalOperation)

  • 3개의 피연산자를 필요로 하는 연산자
  • ? 앞의 조건식에 따라 콜론 앞뒤의 피연산자 선택
  • 조건식이 true면 앞의 값을, false면 뒤에 값을 선택함

삼항 연산자가 2차례 사용된 식이다. 우선 score의 값을 비교해 A인지를 판단 후 후자의 조건으로 분기되어 한차례 더 삼항 연산자를 사용되었다.