본문 바로가기
JAVA

[JAVA] 숫자 큰값/작은값 비교하기 Math.max/Math.min

by 열정적인 이찬형 2022. 1. 4.

상황

import java.math.*;
//x,y는 0보다 크고 100보다 작으며 두 수는 동일하지 않다고 가정!
public class Main{
	public static void main(String[] args){
    	int x = 10;	//숫자 1
        int y = 20;	//숫자 2
        int largeNumber=0;
        int smallNumber=100;
        if(x>y){			//큰 수인지 비교
        	largeNumber = x;
        	smallNumber = y;
        }else{
        	largeNumber = y;
            	smallNumber = x;
         }
         System.out.println("큰 수 : " +  largeNumber);
         System.out.println("작은 수 : " +  smallNumber);
    }
}
  • 위에 코드처럼 if문을 사용하여 비교하고 큰 수와 작은 수를 구분하여 변수에 저장할 수 있습니다.
  • 하지만 Math.max/Math.min을 사용하면 더 간결하게 큰 수와 작은 수를 구분할 수 있습니다.

사용법

import java.math.*;
//x,y는 0보다 크고 100보다 작으며 두 수는 동일하지 않다고 가정!
public class Main{
	public static void main(String[] args){
    	int x = 10;	//숫자 1
        int y = 20;	//숫자 2
        int largeNumber= Math.max(x,y);	//큰 수 비교
        int smallNumber= Math.min(x,y); //작은 수 비교
         System.out.println("큰 수 : " +  largeNumber);
         System.out.println("작은 수 : " +  smallNumber);
    }
}
  • Math.max/min java.math에 포함되어 있기 때문에 import java.math.*를 선언해주어야 합니다.
  • Math.max(값, 값)은 두 수를 비교하여 큰 수를 반환합니다.
  • Math.min(값, 값)은 두 수를 비교하여 작은 수를 반환합니다.
  • 정수뿐만 아니라 double/float도 비교가 가능합니다.
import java.math.*;
public class Main{
	public static void main(String[] args){
    	double x = 12.52;
        double y = 13.44;
        double max = Math.max(x,y);		//double형으로 반환
        double min = Math.min(x,y);
        System.out.println("큰 수 : " + max);
        System.out.println("작은 수 : " + min);
     }
}

 


예제

코드

import java.io.*;
import java.math.*;
public class Test{
	public static void main(String[] args) throws IOException{
    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        //BufferedReader를 통해 입력 값 받기
    	BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
       	//BufferedWriter를 통해 결과 출력
        int num_1 = Integer.parseInt(br.readLine());		//입력값 int형으로 변환
        int num_2 = Integer.parseInt(br.readLine());
        double num_3 = Double.valueOf(br.readLine());		//입력값 double형으로 변환
        double num_4 = Double.valueOf(br.readLine());
        int max_Integer = Math.max(num_1, num_2);		//정수 크기 비교
        int min_Integer = Math.min(num_1, num_2);
        double max_Double = Math.max(num_3, num_4);		//실수 크기 비교
        double min_Double = Math.min(num_3, num_4);
		//큰 수, 작은 수 BufferedWriter에 저장
    	bw.write("큰 수(정수) : " + max_Integer + "\n");
    	bw.write("작은 수(정수) : " + min_Integer + "\n");
    	bw.write("큰 수(실수) : " + max_Double + "\n");
    	bw.write("작은 수(실수) : " + min_Double + "\n");
    	bw.flush();						//결과 출력
    	bw.close();
    	br.close();
    }
}

결과

댓글