Does Java have an exponential operator?

Is there an exponential operator in Java?

For example, if a user is prompted to enter two numbers and they enter 3 and 2, the correct answer would be 9.

import java.util.Scanner; public class Exponentiation { public static double powerOf (double p) { double pCubed; pCubed = p*p; return (pCubed); } public static void main (String [] args) { Scanner in = new Scanner (System.in); double num = 2.0; double cube; System.out.print ("Please put two numbers: "); num = in.nextInt(); cube = powerOf(num); System.out.println (cube); } } 
1

6 Answers

There is no operator, but there is a method.

Math.pow(2, 3) // 8.0 Math.pow(3, 2) // 9.0 

FYI, a common mistake is to assume 2 ^ 3 is 2 to the 3rd power. It is not. The caret is a valid operator in Java (and similar languages), but it is binary xor.

2

To do this with user input:

public static void getPow(){ Scanner sc = new Scanner(System.in); System.out.println("Enter first integer: "); // 3 int first = sc.nextInt(); System.out.println("Enter second integer: "); // 2 int second = sc.nextInt(); System.out.println(first + " to the power of " + second + " is " + (int) Math.pow(first, second)); // outputs 9 
0

There is the Math.pow(double a, double b) method. Note that it returns a double, you will have to cast it to an int like (int)Math.pow(double a, double b).

The easiest way is to use Math library.

Use Math.pow(a, b) and the result will be a^b

If you want to do it yourself, you have to use for-loop

// Works only for b >= 1 public static double myPow(double a, int b){ double res =1; for (int i = 0; i < b; i++) { res *= a; } return res; } 

Using:

double base = 2; int exp = 3; double whatIWantToKnow = myPow(2, 3); 
5

you can use the pow method from the Math class. The following code will output 2 raised to 3 (8)

System.out.println(Math.pow(2, 3)); 

In case if anyone wants to create there own exponential function using recursion, below is for your reference.

public static double power(double value, double p) { if (p <= 0) return 1; return value * power(value, p - 1); } 
1

You Might Also Like