Java有指数运算符吗?

Java有指数运算符吗?,java,pow,exponent,Java,Pow,Exponent,Java中有指数运算符吗 例如,如果提示用户输入两个数字,并且用户输入了3和2,则正确答案将是9 import java.util.Scanner; public class Exponentiation { public static double powerOf (double p) { double pCubed; pCubed = p*p; return (pCubed); } public static vo

Java中有指数运算符吗

例如,如果提示用户输入两个数字,并且用户输入了
3
2
,则正确答案将是
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);
    }
}

没有运算符,但有一个方法

Math.pow(2, 3) // 8.0

Math.pow(3, 2) // 9.0


仅供参考,一个常见的错误是假定
2^3
是2到3次方。事实并非如此。插入符号在Java(和类似语言)中是有效的运算符,但它是二进制异或。

还有
Math.pow(double a,double b)
方法。请注意,它返回一个double,您必须将其转换为int,如
(int)Math.pow(double a,double b)
您可以使用Math类中的pow方法。以下代码将输出2提升为3(8)


最简单的方法是使用数学库

使用
Math.pow(a,b)
,结果将是
a^b

如果你想自己做,你必须使用for循环

// 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;
}

要使用用户输入执行此操作,请执行以下操作:

公共静态void getPow(){
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入第一个整数:”);//3
int first=sc.nextInt();
System.out.println(“输入第二个整数:”);//2
int second=sc.nextInt();
System.out.println(第一个+”到“+第二个+”的幂等于“+
(int)Math.pow(第一,第二));//输出9

如果有人想使用递归创建自己的指数函数,下面是供您参考的

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

        return value * power(value, p - 1);
    }
公共静态双电源(双值,双p){

如果(p
p*p
pSquared
,而不是
pCubed
。如何提示用户输入两个数字?例如,在示例中,基数为3,指数为2。我想您应该乘以一个内循环,然后迭代b次。@libik如果b为负数怎么办?myPow(双精度,双精度)方法签名意味着它使用浮点幂计算,而事实上它不使用。方法签名应该读取myPow(double,int)。Math.pow(double,double)确实考虑了浮点幂,例如,Math.pow(4,0.5)返回4的平方,so2,而myPow(4,0.5)将返回4。@HummelingEngineeringBV-好的,让我们在4年多后修复它:)我想知道为什么
^
是按位异或运算符(例如Java和Python)的反因子标准-一定让很多初学者或MATLAB用户感到困惑…为什么要单独使用java和python?
^
作为通用过程编程语言中的按位异或是由C引入的,实际上任何基于C的语言(或是从C或C++中获得灵感的语言)在一种特殊用途的数学编程语言中,它意味着其他东西,这一事实不应该让任何人感到困惑?
double base = 2;
int exp = 3;
double whatIWantToKnow = myPow(2, 3);
public static double power(double value, double p) {
        if (p <= 0)
            return 1;

        return value * power(value, p - 1);
    }