Math 클래스와 나머지 연산자

Math

  • Math는 수학과 관련된 메서드를 가지고 있는 클래스 입니다.

  • 메서드는 '특정한 기능을 수행하기 위해 코드로 작성된 단위!' 라고 생각하시면 됩니다.

  • round() : 실수를 소수점 첫 째자리에서 반올림정수를 반환합니다.

  • ceil() : 올림값을 double 형으로 반환합니다.

  • floor() : 내림값을 double 형으로 반환합니다.

  • abs() : int, double 기본형 모두 사용 가능하며 절대값을 얻습니다.

  • 아래 예제코드로 학습해 보겠습니다.

class Operator5_1 {
    public static void main(String[] args) {
        long result = Math.round(3.645678);
        System.out.println("result = " + result);

        // 소수점 4째 자리에서 반올림한 값을 구하라!
        double pi = 3.141592;
        // pi * 1000 = 3141.592
        // Math.round(3141.592) = 3142
        // 3142 / 1000.0 = 3.142
        double shortPi = Math.round(pi * 1000) / 1000.0;
        System.out.println(shortPi); // 3.142

        // 3.141 구하기!
        double pi2 = 3.141592;
        // pi2 * 1000 = 3141.592
        // (int)3141.592
        System.out.println("(int)(pi2 * 1000) = " + (int) (pi2 * 1000));
        System.out.println("(int)(pi2 * 1000) / 1000.0  = " + (int) (pi2 * 1000) / 1000.0);
    }
}
class Operator5_2 {
    public static void main(String[] args) {
        double num = 3.14;
        
        System.out.println("반올림 : " + Math.round(num)); // 반올림 : 3
        System.out.println("올림 : " + Math.ceil(num)); // 올림 : 4.0
        System.out.println("내림 : " + Math.floor(num)); // 내림 : 3.0
        System.out.println("절대값 : " + Math.abs(num*-1)); // 절대값 : 3.14
    }
}

나머지 연산자 %

  • 오른쪽 피연산자로 나누고 남은 나머지를 반환합니다.

  • 나누는 피연산자는 0이 아닌 정수만 허용합니다.

  • 부호는 무시됩니다.

  • 아래 예제코드로 학습해 보겠습니다.

class Operator5_3 {
    public static void main(String[] args) {
        int x = 10;
        int y = 8;

        System.out.print("x를 y로 나눈 몫 = ");
        System.out.println(x / y);

        System.out.print("x를 y로 나눈 나머지 = ");
        System.out.println(x % y);

        // 부호 무시 확인
        int n = 3;
        int z = -3;
        System.out.println("x % n = " + x % n);
        System.out.println("x % z = " + x % z);
    }
}

Ref. Java의 정석 기초편 Chapter3(11, 12)

Ref. 반올림과 나머지

Last updated