logo

Java의 조건부 연산자

자바에서는 조건부 연산자 조건을 확인하고 두 조건을 바탕으로 원하는 결과를 결정합니다. 이 섹션에서는 Java의 조건 연산자.

조건부 연산자의 유형

조건부에는 세 가지 유형이 있습니다. 자바의 연산자 :

  • 조건부 AND
  • 조건부 OR
  • 삼항 연산자
운영자 상징
조건부 또는 논리 AND &&
조건부 또는 논리 OR ||
삼항 연산자 ?:

조건부 AND

연산자는 두 개의 부울 표현식 사이에 적용됩니다. 두 개의 AND 연산자(&&)로 표시됩니다. 두 표현식이 모두 true인 경우에만 true를 반환하고, 그렇지 않으면 false를 반환합니다.

표현식1 식2 식1 && 식2
진실 거짓 거짓
거짓 진실 거짓
거짓 거짓 거짓
진실 진실 진실

조건부 OR

연산자는 두 부울 표현식 사이에 적용됩니다. 두 개의 OR 연산자(||)로 표시됩니다. 표현식 중 하나라도 true이면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

표현식1 식2 표현식1 || 식2
진실 진실 진실
진실 거짓 진실
거짓 진실 진실
거짓 거짓 거짓

Java 프로그램을 작성하고 조건 연산자를 사용해 보겠습니다.

ConditionalOperatorExample.java

 public class ConditionalOperatorExample { public static void main(String args[]) y<z); system.out.println((xz) && x<y); } < pre> <p> <strong>Output</strong> </p> <pre> true false </pre> <h3>Ternary Operator</h3> <p>The meaning of <strong>ternary</strong> is composed of three parts. The <strong>ternary operator (? :)</strong> consists of three operands. It is used to evaluate Boolean expressions. The operator decides which value will be assigned to the variable. It is the only conditional operator that accepts three operands. It can be used instead of the if-else statement. It makes the code much more easy, readable, and shorter.</p> <h4>Note: Every code using an if-else statement cannot be replaced with a ternary operator.</h4> <p> <strong>Syntax:</strong> </p> <pre> variable = (condition) ? expression1 : expression2 </pre> <p>The above statement states that if the condition returns <strong>true, expression1</strong> gets executed, else the <strong>expression2</strong> gets executed and the final result stored in a variable.</p> <img src="//techcodeview.com/img/java-tutorial/89/conditional-operator-java.webp" alt="Conditional Operator in Java"> <p>Let&apos;s understand the ternary operator through the flowchart.</p> <img src="//techcodeview.com/img/java-tutorial/89/conditional-operator-java-2.webp" alt="Conditional Operator in Java"> <p> <strong>TernaryOperatorExample.java</strong> </p> <pre> public class TernaryOperatorExample { public static void main(String args[]) { int x, y; x = 20; y = (x == 1) ? 61: 90; System.out.println(&apos;Value of y is: &apos; + y); y = (x == 20) ? 61: 90; System.out.println(&apos;Value of y is: &apos; + y); } } </pre> <p> <strong>Output</strong> </p> <pre> Value of y is: 90 Value of y is: 61 </pre> <p>Let&apos;s see another example that evaluates the largest of three numbers using the ternary operator.</p> <p> <strong>LargestNumberExample.java</strong> </p> <pre> public class LargestNumberExample { public static void main(String args[]) { int x=69; int y=89; int z=79; int largestNumber= (x &gt; y) ? (x &gt; z ? x : z) : (y &gt; z ? y : z); System.out.println(&apos;The largest numbers is: &apos;+largestNumber); } } </pre> <p> <strong>Output</strong> </p> <pre> The largest number is: 89 </pre> <p>In the above program, we have taken three variables x, y, and z having the values 69, 89, and 79, respectively. The expression <strong>(x &gt; y) ? (x &gt; z ? x : z) : (y &gt; z ? y : z)</strong> evaluates the largest number among three numbers and store the final result in the variable largestNumber. Let&apos;s understand the execution order of the expression.</p> <img src="//techcodeview.com/img/java-tutorial/89/conditional-operator-java-3.webp" alt="Conditional Operator in Java"> <p>First, it checks the expression <strong>(x &gt; y)</strong> . If it returns true the expression <strong>(x &gt; z ? x : z)</strong> gets executed, else the expression <strong>(y &gt; z ? y : z)</strong> gets executed.</p> <p>When the expression <strong>(x &gt; z ? x : z)</strong> gets executed, it further checks the condition <strong>x &gt; z</strong> . If the condition returns true the value of x is returned, else the value of z is returned.</p> <p>When the expression <strong>(y &gt; z ? y : z)</strong> gets executed it further checks the condition <strong>y &gt; z</strong> . If the condition returns true the value of y is returned, else the value of z is returned.</p> <p>Therefore, we get the largest of three numbers using the ternary operator.</p> <hr></z);>

삼항 연산자

그 의미 세 개 한 벌 세 부분으로 구성되어 있습니다. 그만큼 삼항 연산자(? :) 세 개의 피연산자로 구성됩니다. 부울 표현식을 평가하는 데 사용됩니다. 연산자는 변수에 할당할 값을 결정합니다. 세 개의 피연산자를 허용하는 유일한 조건부 연산자입니다. if-else 문 대신 사용할 수 있습니다. 코드를 훨씬 더 쉽고 읽기 쉽고 짧게 만듭니다.

참고: if-else 문을 사용하는 모든 코드는 삼항 연산자로 대체될 수 없습니다.

통사론:

 variable = (condition) ? expression1 : expression2 

위의 명령문은 조건이 반환되면 다음과 같이 명시합니다. 참, 표현식1 실행됩니다. 그렇지 않으면 표현식2 실행되고 최종 결과가 변수에 저장됩니다.

Java의 조건부 연산자

순서도를 통해 삼항연산자를 이해해보자.

Java의 조건부 연산자

TernaryOperatorExample.java

 public class TernaryOperatorExample { public static void main(String args[]) { int x, y; x = 20; y = (x == 1) ? 61: 90; System.out.println(&apos;Value of y is: &apos; + y); y = (x == 20) ? 61: 90; System.out.println(&apos;Value of y is: &apos; + y); } } 

산출

 Value of y is: 90 Value of y is: 61 

삼항 연산자를 사용하여 세 숫자 중 가장 큰 숫자를 평가하는 또 다른 예를 살펴보겠습니다.

LargestNumberExample.java

 public class LargestNumberExample { public static void main(String args[]) { int x=69; int y=89; int z=79; int largestNumber= (x &gt; y) ? (x &gt; z ? x : z) : (y &gt; z ? y : z); System.out.println(&apos;The largest numbers is: &apos;+largestNumber); } } 

산출

 The largest number is: 89 

위 프로그램에서는 각각 값이 69, 89, 79인 세 개의 변수 x, y, z를 사용했습니다. 표현식 (x > y) ? (x > z ? x : z) : (y > z ? y : z) 세 숫자 중 가장 큰 숫자를 평가하고 최종 결과를 변수 maximumNumber에 저장합니다. 표현식의 실행 순서를 이해해 봅시다.

Java의 조건부 연산자

먼저 표현식을 확인합니다. (x > y) . true를 반환하면 표현식 (x > z ? x : z) 실행되고, 그렇지 않으면 표현식 (y > z ? y : z) 처형됩니다.

표현이 (x > z ? x : z) 실행되면 조건을 추가로 확인합니다. x > z . 조건이 true를 반환하면 x 값이 반환되고, 그렇지 않으면 z 값이 반환됩니다.

표현이 (y > z ? y : z) 실행되면 조건을 추가로 확인합니다. 와이 > z . 조건이 true를 반환하면 y 값이 반환되고, 그렇지 않으면 z 값이 반환됩니다.

따라서 삼항 연산자를 사용하여 세 숫자 중 가장 큰 숫자를 얻습니다.