관리 메뉴

커리까지

자바의 연산자들-2 본문

자바

자바의 연산자들-2

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

관계 연산자

  • 두 항의 관계를 나타내며 비교 연산자라고도 부름
  • true, false로 나타남
연산자 기능
> 왼쪽 항이 크면 참, 아니면 거짓
< 왼쪽 항이 작으면 참, 아니면 거짓
>= 왼쪽 항이 오른쪽 항보다 크거나 같으면 참, 아니면 거짓
<= 왼쪽 항이 오른쪽 항보다 작거나 같으면 참, 아니면 거짓
== 왼쪽 항과 오른쪽 항이 같으면 참, 아니면 거짓
!= 왼쪽 항과 오른쪽 항이 다르면 참, 아니면 거짓

논리 연산자

  • true, false로 나타남
연산자 기능
%% (논리 곱) 두 항이 모두 참인 경우에만 결과 값이 참, 아니면 거짓
|| (논리 합) 두 항 중 하나의 항만 참이면 결과 값을 참, 두 항이 모두 거짓이면 거짓
!(부정) 단항 연산자, 참인 경우는 거짓으로, 거짓인 경우는 참으로 바꿈

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

  • 논리 곱에서 앞의 항의 결과가 false면 뒤 항의 결과 평가 하지 않음
  • 논리 합에서 앞의 결과가 true면 뒤 항의 결과 평가 하지 않음
package ch12;

public class LogiccalTest {

    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);
        System.out.println(i);
        System.out.println(num1);

    }
}
>
false
2
20
  • i가 증가할 것이라 생각했지만 앞이 false라 뒤에 연산은 수행하지 않아서 i값은 변하지 않았음
package ch12;

public class LogiccalTest {

    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);
        System.out.println(i);
        System.out.println(num1);

    }
}
>
true
4
20
  • 이건 앞의 항이 false기 때문에 뒤에 항을 수행함
package ch12;

public class LogiccalTest {

    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);
        System.out.println(i);
        System.out.println(num1);

    }
}
>
true
2
20
  • 이건 앞이 true여서 뒤에 항을 수행하지 않음
728x90
LIST

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

조건문  (0) 2021.06.16
자바의 연산자들-3  (0) 2021.06.14
자바의 연산자들-1  (0) 2021.06.11
상수와 리터럴, 변수의 형 변환  (0) 2021.06.09
자료형(data type)  (0) 2021.06.05
Comments