Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java 9 JShell에서 관계 연산자와 논리 연산자를 구현하는 방법

JShell은 Java 9에서 새롭게 도입된 대화형 도구로, Java 언어의 다양한 기능과 방대한 라이브러리를 손쉽게 탐색하고 실험해 볼 수 있도록 도와줍니다.

관계 연산자(Relational Operators)란?

관계 연산자(==, !=, <, >, <=, >=)는 주로 두 값의 비교를 위해 사용됩니다. 이 연산자는 boolean이 아닌 기본(primitive) 데이터 타입의 피연산자를 받아들이며, 그 결과로 boolean 값(true 또는 false)을 반환합니다.

논리 연산자(Logical Operators)란?

JShell은 논리 연산자 역시 지원하며, 이는 표현식(expression) 안에서 사용할 수 있습니다. 논리 연산자는 boolean 타입의 피연산자를 요구하며, 이러한 피연산자로 구성된 표현식은 if, for, while 문 내부에서 boolean 조건을 만드는 데 활용됩니다.

대표적인 논리 연산자는 다음과 같습니다.

  • && : 논리 AND (두 조건이 모두 참일 때 true)
  • || : 논리 OR (두 조건 중 하나라도 참이면 true)
  • ! : 논리 NOT (참과 거짓을 반전)

관계 연산자 구현 예제

아래 두 코드 스니펫을 통해 JShell에서 관계 연산자를 어떻게 사용하는지 확인할 수 있습니다.

예제 1: 단순 비교

jshell> int i = 10;
i ==> 10

jshell> i > 10;
$2 ==> false

jshell> i >= 10;
$3 ==> true

jshell> i < 10;
$4 ==> false

jshell> i <= 10;
$5 ==> true

jshell> i == 10;
$6 ==> true

jshell> i == 20;
$7 ==> false

변수 i가 10일 때, 각 비교 연산의 결과가 예상대로 true 또는 false로 출력되는 것을 볼 수 있습니다.

예제 2: 범위 조건 비교

jshell> int i = 15;
i ==> 15

jshell> i >=15
$1 ==> true

jshell> i <= 15
$2 ==> true

jshell> i >= 15 && i <= 25
$3 ==> true

jshell> i == 30;
$4 ==> false

jshell> i = 30;
i ==> 30

jshell> i >= 15 && i <= 25;
$5 ==> false

여기서는 관계 연산자와 논리 연산자(&&)를 함께 사용하여 "i가 15 이상 25 이하"라는 범위 조건을 검사합니다. 변수 i의 값을 30으로 변경한 후에는 해당 조건이 더 이상 성립하지 않아 결과가 false로 바뀌는 것을 확인할 수 있습니다.

논리 연산자 구현 예제

아래 코드 스니펫에서는 JShell에서 논리 연산자(&&, ||)를 직접 구현해 볼 수 있습니다.

jshell> true && true
$1 ==> true

jshell> true && false
$2 ==> false

jshell> false && true
$3 ==> false

jshell> false && false
$4 ==> false

jshell> true || true
$5 ==> true

jshell> true || false
$6 ==> true

jshell> false || true
$7 ==> true

jshell> false || false
$8 ==> false

AND(&&) 연산은 두 피연산자가 모두 true일 때만 true를 반환하고, OR(||) 연산은 하나라도 true이면 true를 반환한다는 진리표 규칙을 JShell에서 즉시 확인할 수 있습니다. 이처럼 JShell을 활용하면 별도의 컴파일 과정 없이 연산자의 동작을 빠르게 학습하고 검증할 수 있습니다.