[Java] Part.3_삼항 연산자

Haeun Noh·2022년 5월 25일
0

JAVA_programmers강의

목록 보기
11/12

0525


삼항 연산자

조건식 ? 참 : 거짓 ;
조건식을 실행하였을 때 참이면 '참'부분을 실행하고 거짓이면 '거짓'부분을 실행한다.

int b1 = ( 5 > 4 ) ? 50 : 40 ;
// 5가 4보다 클 때 50을 출력하고 그렇지 않다면 40을 출력하라.

if 문으로 바꾸기

피연산자1, 피연산자2 에는 주로 값이 오지만, 경우에 따라 연산식이 올 수 있다.
삼항 연산자가 익숙하지 않다면, if문으로 바꾸어 이용해도 좋다.

int b1 = 0;
if ( 5>4 ) {
	b1 = 50;
    }
else if ( 5<4 ) {
	b1 = 40;
    }
System.out.println( b1 );


문제

hour가 12보다 작으면 "오전", 그렇지 않으면 "오후"라는 값을 ampm에 저장하도록 빈칸을 채워주세요.

문제 설명

변수 hour에는 현재 시각이 들었습니다.

힌트

삼항 연산자를 사용합니다.

기본 소스

import java.util.Calendar;
public class TernaryExam {
    public static void main(String[] args) {
        // hour에는 현재 시간이 24시간 단위로 들어 있습니다. 
        int hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
        String ampm;
        // 삼항연산자를 이용해서 ampm의 값을 "오전" 또는 "오후"로 만들어보세요.
        ampm =System.out.println("지금시간은 " + hour + "시이고, " + ampm + "입니다.");
    }
}

정답 소스

import java.util.Calendar;
public class TernaryExam {
    public static void main(String[] args) {
        // hour에는 현재 시간이 24시간 단위로 들어 있습니다. 
        int hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
        String ampm;
        // 삼항연산자를 이용해서 ampm의 값을 "오전" 또는 "오후"로 만들어보세요.
        ampm = hour<12 ? "오전" : "오후" ;

        System.out.println("지금시간은 " + hour + "시이고, " + ampm + "입니다.");
    }
}

실행 결과

실행 결과
출력 〉	지금시간은 (실제시간)시이고, (오후/오전)입니다.

소스 해설

  • int hour 에는 실제 지금 시간이 들어있다.
  • 삼항 연산자를 사용했다.
  • 변수 hour가 12 미만일 경우 오전을 출력한다.
  • 변수 hour가 12 이상일 경우 오후를 출력한다.
  • String 타입인 변수 ampm이기 때문에 "오전" "오후" 로 할당했다.

주의할 점

  • 부등호의 방향을 헷갈리지 않도록 주의할 것
  • 오전과 오후는 String타입이므로 " " 를 잊지 말 것

삼항연산자 실습 링크


profile
기록의 힘을 믿는 개발자, 노하은입니다!

0개의 댓글