어제 오늘 내일

[Java Math] max()와 min() 메소드 – 최대값과 최소값 구하기 본문

IT/Java

[Java Math] max()와 min() 메소드 – 최대값과 최소값 구하기

hi.anna 2025. 12. 10. 09:01

Math.max()Math.min()은 두 수를 비교해 각각 더 큰 값, 더 작은 값을 반환하는 메소드입니다.
자료형에 따라 오버로드가 되어 있어 다양한 기본 타입에서 사용할 수 있습니다.

 

1. 기본 사용법

public class MathMaxMinBasic {
    public static void main(String[] args) {
        System.out.println(Math.max(3, 7));    // 7
        System.out.println(Math.min(3, 7));    // 3

        System.out.println(Math.max(-10, -5)); // -5
        System.out.println(Math.min(-10, -5)); // -10
    }
}

간단히 두 값을 비교해 최대값과 최소값을 반환합니다.

 

2. 다양한 타입 지원

public class MathMaxMinTypes {
    public static void main(String[] args) {
        int i = Math.max(10, 20);          // int
        long l = Math.min(100L, 200L);     // long
        float f = Math.max(3.5f, 2.8f);    // float
        double d = Math.min(5.7, 8.9);     // double

        System.out.println(i); // 20
        System.out.println(l); // 100
        System.out.println(f); // 3.5
        System.out.println(d); // 5.7
    }
}

int, long, float, double 네 가지 기본 타입에서 사용 가능합니다.

 

3. 활용 예제: 배열에서 최대값과 최소값 찾기

import java.util.*;

public class MathMaxMinArray {
    public static void main(String[] args) {
        int[] numbers = {5, 12, 3, 7, 25, 1};

        int maxVal = numbers[0];
        int minVal = numbers[0];

        for (int n : numbers) {
            maxVal = Math.max(maxVal, n);
            minVal = Math.min(minVal, n);
        }

        System.out.println("최댓값 = " + maxVal); // 25
        System.out.println("최솟값 = " + minVal); // 1
    }
}

루프 안에서 Math.max()Math.min()을 반복 적용하면 전체 데이터의 최대/최소를 쉽게 구할 수 있습니다.

 

4. 활용 예제: 값 제한(범위 클램핑)

public class MathMaxMinClamp {
    public static void main(String[] args) {
        int value = 120;
        int min = 0;
        int max = 100;

        int clamped = Math.max(min, Math.min(value, max));
        System.out.println(clamped); // 100
    }
}

특정 값이 범위를 벗어나지 않도록 제한할 때 클램핑(clamping) 기법으로 사용됩니다.

 

결론

  • Math.max(a, b) → 두 값 중 큰 값
  • Math.min(a, b) → 두 값 중 작은 값
  • int, long, float, double 타입 지원
  • 배열 최대/최소, 값 제한, 비교 연산 단순화에 활용

 
 

반응형
Comments