Java 삼항연산자

Java 공부

목록 보기
4/5

👍 삼항연산자

매번 사용 방법을 잊어버려서 배운 김에 정리하려고 한다.
삼항 연산자 표현법은 아래와 같다.

[표현법] 조건식 ? 조건식이 true일 경우 반환값 : 조건식이 false일 경우 반환값

간단한 연산자이므로 별도의 설명 없이 예를 보면 빠르게 이해된다.

Scanner scanner = new Scanner(System.in);
		
		System.out.print("정수값 입력 : "); 
		int num = scanner.nextInt(); //사용자로부터 임의의 정수를 입력 받음
		
		String str = (num > 0 ? "양수이다" : "양수가 아니다");
		System.out.println(num + " : " + str);
  • String str = (num > 0 ? "양수이다" : "양수가 아니다");
    : 삼항연산자가 num이 0보다 클 경우 "양수이다"를 반환하고 num이 0보다 같거나 작을 경우 "양수가 아니다"를 반환한다.

    실행 결과


💪 삼항연산자 중첩

이대로 끝내긴 아쉬우므로 삼항연산자를 중첩해서 사용해보자. 바로 코드를 보자

// 사용자가 입력한 정수값이 양수인지, 음수인지, 0인지 정확하게 판별 후 출력
		Scanner scanner = new Scanner(System.in);
		
		System.out.print("정수값 입력 : ");
		int num = scanner.nextInt();
		
		// num > 0을 연산해야지 ? 뒤의 내용과 : 뒤의 내용을 연산할 수 있다. ()가 있다고 먼저 연산하는 것 아님!
		String result = num > 0 ? "입력한 값은 양수이다" : (num == 0 ? "입력한 값은 0이다" : "입력한 값은 음수이다");
		System.out.println(result);
  • String result = num > 0 ? "입력한 값은 양수이다" : (num == 0 ? "입력한 값은 0이다" : "입력한 값은 음수이다");
    : 삼항연산자가 num이 0보다 클 경우 "입력한 값은 양수이다"를 반환. 만약 0보다 작거나 같을 경우 (num == 0 ? "입력한 값은 0이다" : "입력한 값은 음수이다")를 실행.
  • (num == 0 ? "입력한 값은 0이다" : "입력한 값은 음수이다")
    : 삼항연산자가 num이 0일 경우 "입력한 값은 0이다"를 반환. num이 0이 아닐 경우 "입력한 값은 음수이다"를 반환.

실행 결과

0개의 댓글