자바의 연산자들 (관계, 논리 연산자)

kangsun·2023년 3월 4일
0

Java

목록 보기
29/44

관계 연산자


  • 이항 연산자
  • 연산의 결과가 true(참), false(거짓)으로 반환됨, 비교연산자 라고도 함.
  • 조건문(if), 반복문(for)의 조건식으로 많이 사용됨.

>
<
>=
<=
==
!=



논리 연산자


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

&& (논리곱) and 둘 다 모두 참이어야 참.
|| (논리합) or 둘 중 하나만 참이어도 참.
! (부정) 아니다. 참 -> 거짓으로 바꾸고, 거짓 -> 참으로 바꾼다.



논리 연산에서 모든 항이 실행되지 않는 경우 - 단락 회로 평가 (short circuit evaluation)


num1 < num2  &&  num1 > num2

논리곱(&&)을 실행할 때,앞의 항이 false라면 뒤의 항은 실행하지 않고 넘어간다.
마찬가지로 논리합(||)을 실행할 땐 앞에 있는 항이 true이면 어차피 하나만 true여도 true로 판단하기 때문에 뒤에 있는 항은 실행되지 않고 넘어간다.

  • 논리곱(&&)은 두 항의 결과가 모두 true일 때만 결과가 true
    -- 앞의 항의 결과가 false이면 뒤 항의 결과를 평가하지 않음
  • 논리합(||)은 두 항의 결과가 모두 false일 때문 결과가 false
    -- 앞의 항의 결과가 true이면 뒤 항의 결과를 평가하지 않음
package ch12;

public class LogicalTest {

	public static void main(String[] args) {
		
		int num1 = 10;
		int i = 2;
		
		boolean value = ((num1 = num1 + 10 ) < 10) && ( ( i = i + 2 ) < 10);
		System.out.println(value); //false
		System.out.println(num1);  //20
		System.out.println(i);	   //2
		
		value = ((num1 = num1 + 10 ) < 10) || ( ( i = i + 2 ) < 10);
		System.out.println(value); //true 
		System.out.println(num1);  //30
		System.out.println(i);	   //4

	}
}
profile
코딩 공부 💻

0개의 댓글