Java Math Pow 메서드

JavaBeginner
지금 연습하기

소개

pow() 메서드는 어떤 숫자의 거듭제곱 값을 구하는 데 사용됩니다. Java 의 Math 클래스에 속하며 double 값을 반환합니다. 출력을 다른 유형으로 변환하려면 명시적인 캐스팅 (explicit casting) 이 필요하다는 점에 유의해야 합니다. 이 랩에서는 다양한 예제를 통해 pow() 메서드를 사용하는 방법을 배우겠습니다.

설정

~/project 디렉토리에 PowDemo.java라는 새 파일을 생성하고 텍스트 편집기에서 엽니다.

다음 코드를 파일에 추가하고 저장합니다.

import java.lang.Math;

public class PowDemo {
    public static void main(String[] args) {

    }
}

코드를 실행하려면 터미널을 열고, ~/project 디렉토리로 cd한 다음 다음 명령을 입력합니다.

javac PowDemo.java
java PowDemo

pow() 메서드 사용하기

pow() 메서드를 사용하려면 Math.pow() 함수를 호출하고 기본값과 지수 값을 인수로 전달합니다. 메서드의 일반적인 시그니처 (signature) 는 다음과 같습니다.

public static double pow(double base, double power)

import 문 다음에 다음 코드를 main 함수에 추가합니다.

double d1 = Math.pow(3, 5);
double d2 = Math.pow(3.5, 1.5);
int i = (int) Math.pow(3.5, 1.5); // require casting for int type

System.out.println("3 raised to the power 5: " + d1);
System.out.println("3.5 raised to the power 1.5: " + d2);
System.out.print("3.5 raised to the power 1.5(for int type): " + i);

이 코드 블록은 3 의 5 제곱, 3.5 의 1.5 제곱, 그리고 정수 값에 대한 3.5 의 1.5 제곱의 결과를 계산하고, 값을 콘솔에 출력합니다.

제곱근 및 세제곱근 구하기

pow() 메서드는 숫자의 제곱근 또는 세제곱근을 찾는 데에도 사용할 수 있습니다. 이 단계에서는 pow() 메서드를 사용하여 16 의 제곱근과 27 의 세제곱근을 찾습니다.

2 단계에서 작성한 코드 다음에 다음 코드를 main 함수에 추가합니다.

double squareRoot = Math.pow(16, 0.5);
double cubeRoot = Math.pow(27, (1.0 / 3));

System.out.println("Square root of 16 is: " + squareRoot);
System.out.print("Cube root of 27 is: " + cubeRoot);

이 코드 블록은 pow() 메서드를 사용하여 16 의 제곱근과 27 의 세제곱근을 계산하고 결과를 콘솔에 출력합니다.

특수한 경우 처리

pow() 메서드는 언급할 가치가 있는 몇 가지 특수한 경우를 가지고 있습니다. 이 단계에서는 이러한 특수한 경우 중 일부를 테스트합니다.

3 단계에서 작성한 코드 다음에 다음 코드를 main 함수에 추가합니다.

System.out.println("When Second parameter is zero:");
System.out.println(Math.pow(5.0, 0.0));
System.out.println(Math.pow(5.0, -0.0));

System.out.println("When Second parameter is one:");
System.out.println(Math.pow(5.0, 1));

System.out.println("When Second parameter is NaN:");
System.out.println(Math.pow(5.0, Double.NaN));

System.out.println("When first parameter is NaN and second parameter is non-zero:");
System.out.println(Math.pow(Double.NaN, 14));

System.out.println("When first parameter is NaN and second parameter is zero:");
System.out.println(Math.pow(Double.NaN, 0));

이 코드 블록은 다음과 같은 특수한 경우를 테스트합니다.

  • 두 번째 매개변수가 0 일 때, 1.0 을 반환합니다.
  • 두 번째 매개변수가 1 일 때, 첫 번째 매개변수를 반환합니다.
  • 두 번째 매개변수가 NaN(Not a Number) 일 때, NaN 을 반환합니다.
  • 첫 번째 매개변수가 NaN 이고 두 번째 매개변수가 0 이 아닐 때, NaN 을 반환합니다.
  • 첫 번째 매개변수가 NaN 이지만 두 번째 매개변수가 0 일 때, 1 을 반환합니다.

고급 수학 개념 테스트

이 단계에서는 pow() 메서드를 사용하여 몇 가지 고급 수학 개념을 테스트합니다.

4 단계에서 작성한 코드 다음에 다음 코드를 main 함수에 추가합니다.

System.out.print("Square root of -1: " + Math.pow(-1, 0.5));
System.out.println("Positive Value raised to Infinity: " + Math.pow(5, Double.POSITIVE_INFINITY));
System.out.print("Positive Value raised to Negative Infinity: " + Math.pow(5, Double.NEGATIVE_INFINITY));

이 코드 블록은 다음과 같은 경우를 테스트합니다.

  • -1 의 제곱근을 계산할 때, NaN 을 반환합니다.
  • 양의 값을 무한대로 거듭제곱할 때, 양의 무한대를 반환합니다.
  • 양의 값을 음의 무한대로 거듭제곱할 때, 0 을 반환합니다.

코드 저장 및 실행

PowDemo.java에 변경 사항을 저장합니다. 터미널을 열고, ~/project 디렉토리로 cd한 다음, 다음 명령을 입력하여 코드를 실행합니다.

javac PowDemo.java
java PowDemo

이렇게 하면 PowDemo.java가 컴파일되고 실행됩니다. 프로그램의 출력은 다음과 같아야 합니다.

3 raised to the power 5: 243.0
3.5 raised to the power 1.5: 6.547900426854397
3.5 raised to the power 1.5(for int type): 6
Square root of 16 is: 4.0
Cube root of 27 is: 3.0
When Second parameter is zero:
1.0
1.0
When Second parameter is one:
5.0
When Second parameter is NaN:
NaN
When first parameter is NaN and second parameter is non-zero:
NaN
When first parameter is NaN and second parameter is zero:
1.0
Square root of -1: NaN
Positive Value raised to Infinity: Infinity
Positive Value raised to Negative Infinity: 0.0

요약

이 랩에서는 Java 에서 java.lang.Math 클래스의 pow() 메서드를 사용하는 방법을 배웠습니다. 또한 이 메서드를 사용할 때 발생할 수 있는 몇 가지 특수한 경우도 살펴보았습니다. pow() 메서드는 특히 고급 수학 개념을 계산할 때, 계산 알고리즘에서 중요합니다.