소개
pow() 메서드는 어떤 숫자의 거듭제곱 값을 구하는 데 사용됩니다. Java 의 Math 클래스에 속하며 double 값을 반환합니다. 출력을 다른 유형으로 변환하려면 명시적인 캐스팅 (explicit casting) 이 필요하다는 점에 유의해야 합니다. 이 랩에서는 다양한 예제를 통해 pow() 메서드를 사용하는 방법을 배우겠습니다.
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() 메서드를 사용하려면 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));
이 코드 블록은 다음과 같은 특수한 경우를 테스트합니다.
이 단계에서는 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));
이 코드 블록은 다음과 같은 경우를 테스트합니다.
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() 메서드는 특히 고급 수학 개념을 계산할 때, 계산 알고리즘에서 중요합니다.