// 읽은 2개의 실숫값 중에서 큰 쪽을 표시(방법1:if문)
import java.util.Scanner;
class Max2A {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("실수 a:"); double a = stdIn.nextDouble();
System.out.print("실수 b:"); double b = stdIn.nextDouble();
double max; // 큰 값을 저장
if (a > b)
max = a;
else
max = b;
System.out.println("큰 쪽의 값은 " + max + "입니다.");
}
}
// 2개의 실수값을 읽어서 큰 쪽을 표시(방법2:조건 연산자)
import java.util.Scanner;
class Max2B {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("실수 a:"); double a = stdIn.nextDouble();
System.out.print("실수 b:"); double b = stdIn.nextDouble();
double max = a > b ? a : b;
System.out.println("큰 쪽의 값은 " + max + "입니다.");
}
}
[실행 예] 실수 a:25.7 / 실수 b:15.3 큰 쪽의 값은 25.7입니다.
Max2A 프로그램은 if문을 이용해 2개의 값 중 큰 값을 표시하는 프로그램이다. 변수 a, 변수 b에 각각 값을 저장한 후 a가 b보다 크면 max에 a를 대입하고 그렇지 않으면 max에 b를 대입한다. 결과적 으로 if문이 종료된 시점에는 변수 max에 큰 쪽의 값이 들어 있게 된다. Max2B 프로그램은 조건 연산자를 이용해 동일 결괏값을 가지는 프로그램이다.
max = a > b ? a : b;
[그림 1]는 조건 연산자를 이용한 조건 표현식conditional expression을 정리한 것이다. 변수 max에는 a가 b보다 크면 a의 값이, 그렇지 않으면 b의 값을 저장한다. 조건 표현식은 if문을 압축한 것으로 자바 프로그램에서 자주 사용한다.
[그림 1] 조건식의 평가
[표 1] 조건 연산자
x ? y : z | x가 true인 경우 y를 평가한 값을, false인 경우 z를 평가한 값을 생성한다. |
x를 평가한 값이 true인 경우 z는 평가되지 않으며, false인 경우는 y를 평가하지 않는다. 큰 쪽의 값을 구하는 조건식을 println 안에 넣으면, 변수 max를 사용하지 않아도 된다. 여기서 a > b ? a : b 부분을 감싼 ( )는 생략할 수 없다.
System.out.println("큰 쪽의 값은 " + (a > b ? a : b) + "입니다.");
이전 글 : RNN을 사용한 문장 생성
다음 글 : 컴퓨팅이란 무엇일까?
최신 콘텐츠