티스토리 뷰

1. 관계(비교)연산자

  • 이항 연산자
  • 연산의 결과가 true(참), false(거짓)으로 반환 됨, 비교연산자 라고도 함
  • 조건문, 반복문의 조건식으로 많이 사용 됨
  • 관계 연산자를 주어로 봐야 함.
int num1 = 5; 
int num2 = 3;
boolean value = ( num1 > num2 );
1. System.out.println(value);
2. System.out.println(3 == 5);
3. System.out.println(6 != 5);

1. true

2. false

3. true

가 출력됨.

 

2. 논리 연산자

  • 관계 연산자와 혼합하여 많이 사용 됨
  • 연산의 결과가 true(참), false(거짓)으로 반환 됨

종류 3가지

논리곱 ---> && (엠퍼센트,엠퍼센트)  : and 개념

논리합 ---> || (버티컬 바, 버티컬 바)  : or 개념

부정 --> !

int num1 = 10;
int num2 = 20;
	// && 논리곱 하나라도 거짓이면 false // 전부 true 여야 true임
	//       T    =      T     &&     T
	boolean flag1 = (num1 > 0) && (num2 > 0);
	System.out.println(flag1);
    // 결과 : true
    
	//      F     =      T     &&    F
	boolean flag2 = (num1 > 0) && (num2 < 0);
	System.out.println(flag2);
    // 결과 : false
		
	System.out.println("==================");
		
	// || 논리합 하나라도 참이면 true
	//       T    =      T     ||    F
	boolean flag3 = (num1 > 0) || (num2 < 0);
	System.out.println(flag3);
    // 결과: true
	System.out.println(!flag3);
    // 결과: false

 

3. 빠른 평가(short circuit evaluation)

빠른 평가(short-circuit evaluation)는 논리 연산에서 첫 번째 조건이 결과를 결정하는 경우, 두 번째 조건을 평가하지 않는 자바의 특성입니다.

 

 

<논리 곱(&&)>

두 항의 결과가 모두 true일 때만 결과가 true

하나라도 false면 false

앞의 항의 결과가 false이면 뒤 항의 결과를 평가하지 않음

 

 

<논리 합(||)>

두 항의 결과가 모두 false일 때만 결과가 false

하나라도 true 면 true

앞의 항의 결과가 true이면 뒤 항의 결과를 평가하지 않음

 

		int number = 5;
		int index = 0;
		
		//      F      =          F            &&         T
		boolean result = ((number += 10) < 10) && ((index += 2) < 10);
		System.out.println(number);
		System.out.println(index);
             // number: 15, index:  0

논리합(하나라도 거짓이면 false) => false 출력됨.

number가 false 여서 연산되어 나온 index 값(2)을  무시하고 원래 index 값(0)이 출력됨.

 

 

		number = 5; //재설정
		//  T  =           F           ||         T
		result = ((number += 10) < 10) || ((index += 2) < 10);
		System.out.println(number);
		System.out.println(index);
		// number: 15, index: 2

논리곱(하나라도 사실이면 true) => true 출력됨.

number와 index 값 둘 다 연산된 값으로 출력됨.

 

		number = 5;
		index = 0;
		//   T =           T         ||         F
		result = ((index += 2) < 10) || ((number += 10) < 10);
		System.out.println(index);
		System.out.println(number);
		// index: 2, number: 5

논리곱(하나라도 사실이면 true) => true 출력됨.

앞 항인 index가 true 여서 값이 2이고,

false인 number 값(15)을 무시하고 원래 number 값인 5가 출력됨.

 

 

 

4. 삼항 연산자(조건 연산자)

● 조건식의 결과가 true(참)인 경우와 false(거짓)인 경우에 따라 다른 결과가 수행됨

● if (조건문)을 간단히 표현할 때 사용 할 수 있음

import java.util.Scanner; // 수입하다, 가지고 오다 

Scanner sc = new Scanner(System.in);   // 콘솔창에서 사용자가 키보드로 입력한 값을 받아줌
int x = sc.nextInt(); // 사용자가 입력한 정수값을 받아줌
System.out.println(x);
int y = sc.nextInt();
System.out.println(y);
		
// 조건식 ? 결과1 : 결과2;
int max = ( x > y ) ? x : y;
System.out.println(max);

sc.close(); // 자원 닫기

조건식( x > y ) 가 true면 x가 출력되고 거 false면 y가 출력됨.

 

예를 들어 )

콘솔창에 10 입력 시 x 값은 10이 출력됨.

이어서 30 입력 시  조건식 결과 false 이므로 y 값은 30이 출력됨.

 

 

<연산자 우선순위>

가장 높은 순위 연산자는 ( ), [ ]

가장 낮은 순위 연산자는 =

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함