Возведение числа в степень в Java — программа через цикл и Math.pow

Чтобы возвести число base в степень exponent, нужно умножить его само на себя exponent раз. Это легко сделать в цикле.

Пример 1: возведение в степень с помощью цикла while

В цикле while мы умножаем result на base и уменьшаем exponent на 1, пока exponent не станет равен 0.

class Main {
  public static void main(String[] args) {

    int base = 3, exponent = 4;

    long result = 1;

    while (exponent != 0) {
      result *= base;
      --exponent;
    }

    System.out.println("Answer = " + result);
  }
}

Вывод:

Answer = 81

В программе base = 3 и exponent = 4. Цикл while умножает result на base ровно 4 раза: 1 × 3 × 3 × 3 × 3 = 81.

Пример 2: возведение в степень с помощью цикла for

Тот же подход, но через цикл for: уменьшение exponent происходит в блоке обновления.

class Main {
  public static void main(String[] args) {

    int base = 3, exponent = 4;

    long result = 1;

    for (; exponent != 0; --exponent) {
      result *= base;
    }

    System.out.println("Answer = " + result);
  }
}

Вывод:

Answer = 81

После каждой итерации exponent уменьшается на 1, а result умножается на base.

Предупреждение

Обе программы выше не работают с отрицательной степенью. Для этого случая используйте метод Math.pow() из стандартной библиотеки Java.

Пример 3: возведение в степень с помощью Math.pow()

С отрицательной степенью справляется встроенная функция Math.pow(base, exponent).

class Main {
  public static void main(String[] args) {

    int base = 3, exponent = -4;
    double result = Math.pow(base, exponent);

    System.out.println("Answer = " + result);
  }
}

Вывод:

Answer = 0.012345679012345678

В этой программе используется Math.pow() для вычисления степени с заданным основанием.

Пример 4: степень отрицательного числа

Метод Math.pow() корректно работает и с отрицательным основанием.

class Main {
  public static void main(String[] args) {

    // negative number
    int base = -3, exponent = 2;

    double result = Math.pow(base, exponent);
    System.out.println("Answer = " + result);
  }
}

Вывод:

Answer = 9.0

Здесь Math.pow() вычисляет степень отрицательного числа -3.