본문 바로가기
programming/Java

자바 삼항연산자 사용하기 using java short hand ternary operator

by 개코 - 개발과 코딩 2022. 4. 10.

삼항연산자는 조건문을 줄여주는 역할을 한다. 물음표를 이용해 조건식을 표현하고 콜론을 이용하여 참일 때 실행되는 코드와 거짓일 때 실행되는 코드를 구분한다. 조건식이 참이라면 콜론 앞의 구문이 실행되고 조건식이 거짓이면 콜론 뒤의 구문이 실행되는 것이 삼항연산자이다.

자바 삼항연산자 사용하기
using java short hand ternary operator

삼항연산자의 처음에는 난해해도 익숙해지면 꽤나 유용한 문법이다.

모든 프로그래밍 언어가 그렇듯 삼항연산자를 모두 제공한다.

자바 또한 마찬가지로 삼항연산자를 제공하는데 이것은 조건문을 축약하는데 도움을 준다.

짧고 간결한 조건문이 여럿 사용될 경우 삼항연산자를 사용하면 코드를 간결하게 줄일 수 있다.

자바 삼항연산자 사용

조건문은 이미 익숙하다.

if 문이 많아지고 조건이 복잡해 지면 논리연산자와 else if 구문을 사용할 수 있다.

그렇지 않다면 if 문을 여러개 사용할 수 있다.

하지만, 간결한 조건문이 연속되면 코드의 가독성이나 귀찮은 코딩 작업들이 들어간다.

삼항연산자는 이를 줄여주고 코드의 가독성을 높여주는 역할을 한다.

삼항연산자는 조건식 뒤에 물음표(?)가 붙어 if 문을 대신한다.

참과 거짓에 대한 실행코드는 콜론( : ) 으로 구분한다.

조건식이 참이면 콜론 앞의 구문이 실행되고, 조건식이 거짓이면 콜론 뒤에 구문이 실행된다.

if ( 조건문 ) {
	// 참일 때 실행
} else {
	// 거짓일 때 실행
}

// 삼항연산자
( 조건문 ) ? 참일 때 실행 : 거짓일 때 실행;

샘플코드

이제 if 조건문을 삼항연산자로 바꾸는 예제를 만들어 본다.

if 조건문은 이전에 만들었던 코드를 재활용한다.

이전의 코드는 아래의 내용을 참고한다.

코드를 보자.

public class JavaTutorials {
	  
	public static void main(String[] args) {
		
		System.out.println("--------------------------------------------------");
		
		int vA = 10;
		int vB = 100;
		String vResult = "";
		
		System.out.println(String.format("vA는 %s이고, vB는 %s라고 할 때의 비교", vA, vB));
		
		System.out.println("--------------------------------------------------");
		
		vResult = ( vA < vB ) ? ("참") : ("거짓");
		System.out.println(String.format("( vA < vB ) 은 %s", vResult));
			
		vResult = ( vA <= vB ) ? ("참") : ("거짓");
		System.out.println(String.format("( vA <= vB ) 은 %s", vResult));
		
		vResult = ( vA > vB ) ? ("참") : ("거짓");
		System.out.println(String.format("( vA > vB ) 은 %s", vResult));
		
		vResult = ( vA >= vB ) ? ("참") : ("거짓");
		System.out.println(String.format("( vA >= vB ) 은 %s", vResult));
		
		vResult = ( vA == vB ) ? ("참") : ("거짓");
		System.out.println(String.format("( vA == vB ) 은 %s", vResult));
		
		vResult = ( vA != vB ) ? ("참") : ("거짓");
		System.out.println(String.format("( vA != vB ) 은 %s", vResult));
		
		System.out.println("--------------------------------------------------");
	}
}

쓸데없는 조건문이 많지만 if else 구문들을 삼항연산자로 변경한 것이다.

삼항연산자가 어떻게 사용되는지 문법구조만 파악하면 된다.

결과화면을 보자.

반응형

댓글