더북(TheBook)

비교 연산자 실습

문제 변수 abint형 변수입니다. 각각 어떤 값을 가졌는지 비교하기 전에는 모릅니다. ab가 주어졌다고 가정하고 문제를 풀어보세요.

public class OperatorExam2 {
    public void calculate(int a, int b) {
    
        // a가 b보다 큰지 비교한 결과(true 또는 false)를 c에 저장하세요.
        _____________________
        
        // a와 b가 같은지 비교한 결과를 d에 저장하세요.
        _____________________
        
        // a와 b가 다른지 비교한 결과를 e에 저장하세요.
        _____________________
        
        System.out.println(a+"은(는) "+b+"보다 큽니까? "+ c);
        System.out.println(a+"은(는) "+b+"와(과) 같습니까? "+ d);
        System.out.println(a+"은(는) "+b+"와(과) 다릅니까? "+ e);
}
    public static void main(String[]args) {
        // 0~10 사이 값을 랜덤하게 변수 a와 b에 넣어줍니다. 
        int a = (int)(Math.random()*10);
        int b = (int)(Math.random()*10);
        new OperatorExam2().calculate(a,b);
    }
}

 

실행결과

// 변수 a와 b의 값이 실행할 때마다 달라지므로 실행결과는 다를 수 있습니다.
8은(는) 3보다 큽니까? true
8은(는) 3와(과) 같습니까? false
8은(는) 3와(과) 다릅니까? true

 

정답

boolean c = a > b;
boolean d = a = = b;
boolean e = a != b;

 

해설

비교 연산자 실습입니다. 비교 연산자는 두 값을 비교해서 결괏값을 true 또는 false로 알려 주는 연산자입니다. 실행결과에서 ab 값에 따른 결과가 맞게 나왔는지 비교해보세요.

int a = (int)(Math.random()*10);

 

Math.random()0.0 이상에서 1.0 미만의 랜덤한 double형의 실숫값을 반환합니다.

 

Math.random()*100.0에서 10.0 미만의 랜덤한 값을 반환합니다.

 

위의 실습과 별개로 main 메서드에서,

System.out.println(Math.random());
System.out.println(Math.random()*10); 
System.out.println((int)Math.random()*10);

 

이 코드들을 실행하면서 값을 확인해보세요.

 

(int)(Math.random()*10) 이렇게 (int) int형으로 형변환을 하면 소수점 뒤의 값은 없어지겠죠. 즉, 0~9 사이의 값을 변수 a와 변수 b에 담아주겠다는 의미입니다. 그러므로 변수 ab는 실행할 때마다 다른 값을 가질 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.