Math.pow în Java

Ridică un număr la o putere și returnează rezultatul ca double; exponentul poate fi și negativ sau cu zecimale.

Sintaxă
static double pow(double baza, double exponent)

Ce face Math.pow

Math.pow(a, b) calculează ab. Ambii parametri sunt double, deci poți calcula și pow(2, -1) = 0.5 sau pow(27, 1.0/3) = rădăcina cubică. Java nu are operator de putere: ^ înseamnă altceva (SAU exclusiv pe biți).

Rezultatul este mereu double. Pentru puteri întregi mici rezultatul este exact, dar valorile foarte mari își pierd precizia (un double are aproximativ 15–16 cifre semnificative). Pentru puteri întregi cu verificare de overflow folosește Math.powExact.

Parametri

Parametru Descriere
baza Numărul ridicat la putere.
exponent Puterea.

Ce returnează

Un double. NaN pentru baze negative cu exponent fracționar, Infinity la depășire.

Exemple

Exemplul 1: Puteri diverse

public class Main {
    public static void main(String[] args) {
        System.out.println(Math.pow(2, 10));
        System.out.println(Math.pow(2, -2));
        System.out.println(Math.pow(9, 0.5));
        System.out.println(Math.pow(-8, 1.0 / 3));
        System.out.println(2 ^ 10);
        System.out.println((long) Math.pow(10, 9));
    }
}

Rezultat

1024.0
0.25
3.0
NaN
8
1000000000

Exemplul 2: Dobânda compusă la un depozit

public class Main {
    public static void main(String[] args) {
        double suma = 10_000;
        double dobanda = 0.06;
        for (int ani = 1; ani <= 5; ani += 2) {
            double final_ = suma * Math.pow(1 + dobanda, ani);
            System.out.printf("După %d ani: %.2f lei%n", ani, final_);
        }
    }
}

Rezultat

După 1 ani: 10600.00 lei
După 3 ani: 11910.16 lei
După 5 ani: 13382.26 lei

Greșeli frecvente

  • Scrii x ^ 2 pentru pătrat. Folosește x * x sau Math.pow(x, 2).
  • Calculezi rădăcina cubică a unui număr negativ cu pow(x, 1.0/3): rezultatul este NaN. Folosește Math.cbrt.
  • Scrii Math.pow(8, 1/3): 1/3 este împărțire întreagă și dă 0, deci rezultatul este 1.0.

Comenzi înrudite

  • Math.powExact: Putere și înmulțire întreagă exactă (Java 25): rezultat int/long sau ArithmeticException la overflow, inclusiv pentru numere fără semn.
  • Math.sqrt: sqrt() calculează rădăcina pătrată, cbrt() rădăcina cubică (care funcționează și pentru numere negative).
  • Math.exp: exp(x) calculează eˣ; expm1(x) calculează eˣ − 1 precis chiar și pentru x foarte apropiat de 0.
  • Math: Clasa cu funcții matematice gata făcute: rotunjiri, puteri, radicali, trigonometrie, minim/maxim și calcule întregi sigure.