Pages

Footer Pages

Spring Boot

Java String API

Java Conversions

Kotlin Programs

Kotlin Conversions

Java Threads Tutorial

Java 8 Tutorial

Saturday, November 13, 2021

Java Math pow() method Example (Recursive and Loop Iterative)

1. Overview

In this post, You will learn how to calculate the power of a number using the Math pow() method in java

In other words, in Some interviews, these questions are asked as writing a program to find/calculate the power of a number in a java programming language. In this tutorial, you'll learn to calculate the power of a number using a recursive function in Java.


The java.lang.Math. pow() is used to calculate a number raise to the power of some other number. This function takes two parameters and both are double type. This method returns the value of first parameter raised to the second parameter. Also pow() is a static method.
Java Math pow method Example (Recursive and Loop Iterative)



2. Java Math Pow Syntax

public static double pow(double a, double b)


Parameter:

a : this parameter is the base
b : this parameter is the exponent.

Returns :

This method returns a.


3. Java Math Pow special scenarios


There are some special cases or scenarios as listed below:

1. If the second parameter is positive or negative zero then the result will be 1.0.
2. If the second parameter is 1.0 then the result will be same as that of the first parameter.
3. If the second parameter is NaN then the result will also be NaN.
4. If the first argument is NaN and the second argument is nonzero, then the result is NaN.

There are many special cases on pow method but here described main important points and what is used regularly. For complete rules, refer the official page.


If we want to calculate the power of any number then we should use java.lang.Math.pow() method. For example, If want to calculate 2 power of 5, use pow() method that returns 32.

We will see the example programs on above cases.


4. Java math.pow() Example

Below example to calculate the 2 power of 5. Please read the comments provided in the program for better understanding.


package examples.java.w3schools.math;

/**
 * Example program on how to use Math.pow() method.
 * 
 * @author java-w3schools
 *
 */
public class PowExample {

 public static void main(String[] args) {
  // declaring two double variables
  double a = 2;
  double b = 5;
  
  // finding the 2 power of 5 using pow method.
  double result = Math.pow(a, b);
  
  // Printing the result variable which stores the pow() method output.
  System.out.println("2 power of 5 value is "+result);
 }
}

Output:

The above program produces this output.

2 power of 5 value is 32.0

5. Java Math - One of the arguments is NaN:


Pow method takes base and exponent. If anyone these two is NaN then what will be the output and how these are handled in pow() method.

See the example program and output.
/**
 * Program to work with NaN exponent with pow method.
 * 
 * @author java-w3school
 *
 */
public class PowerExampleNaN {
 public static void main(String[] args) {
  powNaNExponent(12);
 }

 /**
  * Method to see if the exponent is NaN what will be the output and how pow
  * method behaves.
  * 
  * @param baseValue
  */
 private static void powNaNExponent(double baseValue) {
  // Declaring base and exponenet variable and values
  double base = baseValue;
  double exponent = Double.NaN;

  // setting output to 1 by default.
  double output = Math.pow(baseValue, exponent);

  System.out.println(base + " power of " + exponent + " is " + output);
 }
}

Output:


12.0 power of NaN is NaN

Observe the output that is NaN. Even if the base or exponent value is NaN then always output will be NaN.

6. Custom pow - Calculate Power of a Number Using a While loop:


Before checking the below program first, check the how while loop works and example programs.

package examples.java.w3schools.math;

/**
 * Program to print the power for the given base and exponent using while loop
 * 
 * @author java-w3school
 *
 */
public class PowerExample {
 public static void main(String[] args) {
  powerOfANumber(2, 5);
  powerOfANumber(5, 5);
  powerOfANumber(9, 3);
 }

 /**
  * Prints the power of the given combination.
  * 
  * @param baseValue
  * @param exponentValue
  */
 private static void powerOfANumber(int baseValue, int exponentValue) {
  // Declaring base and exponent variable and values
  int base = baseValue;
  int exponent = exponentValue;

  // setting output to 1 by default.
  long output = 1;

  int actualExponent = exponent;

  // while loop until exponent becomes 0
  while (exponent != 0) {
   output *= base;
   --exponent;
  }
  //printing output
  System.out.println(base + " power of " + actualExponent + " is " + output);
 }
}


Output:

After running the above program, the output will be as below.

2 power of 5 is 32
5 power of 5 is 3125
9 power of 3 is 729

7. Custom pow - Calculate Power of a Number Using a For loop:

Finding the power of a number can be done using for loop as well. Below is the example program.

/**
  * Prints the power of the given combination using for loop.
  * 
  * @param baseValue
  * @param exponentValue
  */
 private static void powerOfANumberForLoop(int baseValue, int exponentValue) {
  // Declaring base and exponent variable and values
  int base = baseValue;
  int exponent = exponentValue;

  // setting output to 1 by default.
  long output = 1;

  int actualExponent = exponent;

  // for loop until exponent becomes 0
  for (; exponent != 0; --exponent) {
   output *= base;
  }

  System.out.println(base + " power of " + actualExponent + " is " + output);
 }

Output:


The above program produces this output.


10 power of 3 is 1000
6 power of 3 is 216
15 power of 3 is 3375


8. Java Math Pow - Program to calculate the power using recursion



public class Power {
    public static void main(String[] args) {
        int base = 3, powerRaised = 4;
        int result = power(base, powerRaised);
        System.out.printf("%d^%d = %d", base, powerRaised, result);
    }
    public static int power(int base, int powerRaised) {
        if (powerRaised != 0)
            return (base * power(base, powerRaised - 1));
        else
            return 1;
    }
}


Output:

3^4 = 81

No comments:

Post a Comment

Please do not add any spam links in the comments section.