Перейти к содержимому

Как возводить в степень в java

  • автор:

Как возводить в степень в Java?

В этой статье мы расскажем о том, как выполнять возведение в степень в языке программирования Java. Читателю будут представлены 5 актуальных способов решения поставленной задачи.

Как возводить в степень в Java?

Но прежде чем мы приступим к перечислению способов, давайте для начала вспомним, что же вообще представляет собой операция возведения:

Как возводить в степень в Java?

Таким образом, речь идет об умножении числа на свое же значение n-е количество раз. Умножаемое число — это основание степени, а количество операций по умножению — показатель. Результат такого перемножения и будет называться возведением в степень. Для числа 3 3 результат будет равен 27, так как 3 х 3 х 3 = 27.

Теперь давайте рассмотрим, как это все реализуется в языке программирования Java.

Math pow

Использование класса Math — наиболее простой вариант решения поставленной задачи. На практике его применяют в большинстве ситуаций. Public class Math включает в себя математические методы, в том числе те, которые связаны с геометрией и тригонометрией. В этом классе методы реализованы в качестве статических, следовательно, есть возможность вызывать их через имя класса Math, не создавая объект класса.

Как возводить в степень в Java?

public static int pow(int value, int powValue)

return (int) Math.pow(value, powValue);

Здесь пришлось использовать операцию приведения типа (int), т. к. этот метод класса Math осуществляет возвращение значения типа double (аргументы, по сути, тоже double , однако там применяется неявное приведение типа).

Теперь рассмотрим несколько дополнительных вариантов решения поставленной задачи.

Значение квадрата числа

Начнем с наиболее простого и напишем метод по возведению в квадрат:

Как возводить в степень в Java?

Выполняем вызов в main:

public static void main(String[] args)

Как видим, возведение в квадрат сложностей не вызывает.

Число в степени

Чаще всего нам приходится работать не с квадратным значением числа, а с числом в определенной степени. Усложним предыдущий вариант и задействуем кастомное Java pow-значение:

public static void main(String[] args)

public static int pow(int value, int powValue)

int result = 1;

for (int a = 1; а

result = result * value;

return result;

Алгоритм несложен: мы как будто задаем точку отсчета result , а потом умножаем его на значение value столько, сколько будет работать цикл с powValue .

Рекурсия

Следующий вариант является уже более экзотичным.

Как возводить в степень в Java?

Вы должны знать, что рекурсия позволяет методу осуществлять вызов самого себя. В языке программирования Java такие методы тоже есть и называются они рекурсивными.

На практике рекурсивно можно решать многие алгоритмические задачи. Наша — не исключение. Давайте выполним возведение в степень рекурсивно:

Как возводить в степень в Java?

Как видно из реализации, существуют 2 момента:

  1. Условие выхода из рекурсии. Если возведенное значение степени достигает единицы, нас выбрасывает назад.
    1. Непосредственный механизм умножения value на результат вызова того же самого метода, однако с powValue — 1.

    Для совсем ленивых разработчиков существуют способы «из коробки». Рассмотрим один из них.

    BigInteger

    BigInteger — это класс, который обеспечивает хранение целых чисел произвольной величины. Здесь существуют разные арифметические методы, которые позволяют работать с числами.

    Как возводить в степень в Java?

    Выполняем возведение посредством BigInteger в Java:

    Как возводить в степень в Java?

    Тут все предельно просто и не нуждается в дополнительных разъяснениях, не так ли? Однако на сегодня все, теперь вы будете знать о разных способах, позволяющих возводить в степень в «Джава».

    По материалам: https://javarush.ru/groups/posts/2828-kak-vihpolnitjh-vozvedenie-v-stepenjh-v-java.

    Интересуют более продвинутые знания по языку программирования Java? Добро пожаловать на курсы в Otus!

    Как сделать степень в java

    Самый простой способ в Java возвести число в степень – это использовать статический метод pow() класса Math . Метод принимает два параметра. Первый — число, которое возводим с степень. Второй – степень, в которую нужно возвести. Метод возвращает число типа double

    // 2 в степени 3 Math.pow(2, 3); // 8.0 // 4 в квадрате Math.pow(4, 2); // 16.0 

    13.16. Java – Метод Math.pow()

    Метод Math.pow() – возводит значение первого аргумента в степень второго аргумента, тем самым позволяет осуществить быстрое возведение в степень любых значений.

    Синтаксис

    double pow(double base, double exponent) 

    Параметры

    Подробная информация о параметрах:

    • base – любой примитивный тип данных.
    • exponent – любой примитивный тип данных.

    Возвращаемое значение

    • В Java Math.pow() возвращает double значение первого аргумента, возведенное в степень второго аргумента.

    Пример 1: возведение числа в квадрат и куб

    Для возведения любого числа в квадрат с помощью метода Math.pow() необходимо в качестве второго аргумента использовать значение 2, а для возведения в куб – 3 и т.д. Заметьте, для вывода на экран целого значения используется «%.0f», так как метод возвращает double значение.

    public class Test < public static void main(String args[])< // Возведение в квадрат числа 3 int a1 = 3; int b1 = 2; System.out.printf("Число 3 в квадрате равно %.0f \n", Math.pow(a1, b1)); // Возведение в квадрат числа 5 int a2 = 5; int b2 = 2; System.out.println("Число 5 в квадрате равно " + Math.pow(a2, b2)); // Возведение в куб числа 2 int a3 = 2; int b3 = 3; System.out.printf("Число 2 в кубе равно %.0f \n", Math.pow(a3, b3)); // Возведение в куб числа 3 int a4 = 3; int b4 = 3; System.out.println("Число 3 в кубе равно " + Math.pow(a4, b4)); >> 

    Получим следующий результат:

    Число 3 в квадрате равно 9 Число 5 в квадрате равно 25.0 Число 2 в кубе равно 8 Число 3 в кубе равно 27.0 

    Пример 2: возведение числа в дробную степень

    public class Test < public static void main(String args[])< double x1 = 10.635; double y1 = 3.76; System.out.printf("Значение %.3f в степени %.2f равно %.3f \n", x1, y1, Math.pow(x1, y1)); System.out.printf("pow(%.3f, %.3f) = %.3f \n\n", x1, y1, Math.pow(x1, y1)); int x2 = 2; double y2 = 3.76; System.out.printf("Значение 2 в степени %.2f равно %.3f \n", y2, Math.pow(x2, y2)); System.out.printf("pow(2, %.3f) = %.3f", y2, Math.pow(x2, y2)); >> 

    Получим следующий результат:

    Значение 10,635 в степени 3,76 равно 7253,256 pow(10,635, 3,760) = 7253,256 Значение 2 в степени 3,76 равно 13,548 pow(2, 3,760) = 13,548 

    Пример 3: возведение числа в отрицательную степень

    public class Test < public static void main(String args[])< // Возведение числа в отрицательную дробную степень double x = 7.525; double y = -1.49; System.out.printf("Значение %.3f в степени %.2f равно %.3f \n", x, y, Math.pow(x, y)); System.out.printf("pow(%.3f, %.3f) = %.3f \n\n", x, y, Math.pow(x, y)); // Возведение числа в отрицательную степень int a = 2; int b = -2; System.out.printf("Значение 2 в степени -2 равно %.2f \n", Math.pow(a, b)); System.out.printf("pow(2, -2) = %.2f", Math.pow(a, b)); >> 

    Получим следующий результат:

    Значение 7,525 в степени -1,49 равно 0,049 pow(7,525, -1,490) = 0,049 Значение 2 в степени -2 равно 0,25 pow(2, -2) = 0,25 

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

    Заметьте, что при возведении отрицательного числа в дробную степень мы не получим результат (NaN).

    public class Test < public static void main(String args[])< // Возведение отрицательного дробного числа в степень double x1 = -7.525; double y1 = 1.49; System.out.printf("Значение %.3f в степени %.2f равно %.3f \n", x1, y1, Math.pow(x1, y1)); System.out.printf("pow(%.3f, %.3f) = %.3f \n\n", x1, y1, Math.pow(x1, y1)); double x2 = -7.525; double y2 = 2; System.out.printf("Значение %.3f в степени %.0f равно %.3f \n", x2, y2, Math.pow(x2, y2)); System.out.printf("pow(%.3f, %.0f) = %.3f \n\n", x2, y2, Math.pow(x2, y2)); double x3 = -7.525; double y3 = 3; System.out.printf("Значение %.3f в степени %.0f равно %.3f \n", x3, y3, Math.pow(x3, y3)); System.out.printf("pow(%.3f, %.0f) = %.3f \n\n", x3, y3, Math.pow(x3, y3)); // Возведение отрицательного числа в степень int a1 = -2; int b1 = 2; System.out.printf("Значение -2 в степени 2 равно %.0f \n", Math.pow(a1, b1)); System.out.printf("pow(-2, 2) = %.0f \n\n", Math.pow(a1, b1)); int a2 = -2; int b2 = 3; System.out.printf("Значение -2 в степени 3 равно %.0f \n", Math.pow(a2, b2)); System.out.printf("pow(-2, 3) = %.0f", Math.pow(a2, b2)); >> 

    Получим следующий результат:

    Значение -7,525 в степени 1,49 равно NaN pow(-7,525, 1,490) = NaN Значение -7,525 в степени 2 равно 56,626 pow(-7,525, 2) = 56,626 Значение -7,525 в степени 3 равно -426,108 pow(-7,525, 3) = -426,108 Значение -2 в степени 2 равно 4 pow(-2, 2) = 4 Значение -2 в степени 3 равно -8 pow(-2, 3) = -8 

    Пример 5: возведение каждого числа в квадрат и вывод на экран

    public class Test < public static void main(String args[])< int a = 1; // Начальное число int b = 10; // Конечное число // Возведение каждого числа в квадрат и вывод на экран for (int i = a; i > > 

    Получим следующий результат:

    Значение 1 в квадрате равно 1 Значение 2 в квадрате равно 4 Значение 3 в квадрате равно 9 Значение 4 в квадрате равно 16 Значение 5 в квадрате равно 25 Значение 6 в квадрате равно 36 Значение 7 в квадрате равно 49 Значение 8 в квадрате равно 64 Значение 9 в квадрате равно 81 Значение 10 в квадрате равно 100 

    Оглавление

    • 1. Java – Самоучитель для начинающих
    • 2. Java – Обзор языка
    • 3. Java – Установка и настройка
    • 4. Java – Синтаксис
    • 5. Java – Классы и объекты
    • 6. Java – Конструкторы
    • 7. Java – Типы данных и литералы
    • 8. Java – Типы переменных
    • 9. Java – Модификаторы
    • 10. Java – Операторы
    • 11. Java – Циклы и операторы цикла
    • 11.1. Java – Цикл while
    • 11.2. Java – Цикл for
    • 11.3. Java – Улучшенный цикл for
    • 11.4. Java – Цикл do..while
    • 11.5. Java – Оператор break
    • 11.6. Java – Оператор continue
    • 12. Java – Операторы принятия решений
    • 12.1. Java – Оператор if
    • 12.2. Java – Оператор if..else
    • 12.3. Java – Вложенный оператор if
    • 12.4. Java – Оператор switch..case
    • 12.5. Java – Условный оператор (? 🙂
    • 13. Java – Числа
    • 13.1. Java – Методы byteValue(), shortValue(), intValue(), longValue(), floatValue(), doubleValue()
    • 13.2. Java – Метод compareTo()
    • 13.3. Java – Метод equals()
    • 13.4. Java – Метод valueOf()
    • 13.5. Java – Метод toString()
    • 13.6. Java – Метод parseInt()
    • 13.7. Java – Метод Math.abs()
    • 13.8. Java – Метод Math.ceil()
    • 13.9. Java – Метод Math.floor()
    • 13.10. Java – Метод Math.rint()
    • 13.11. Java – Метод Math.round()
    • 13.12. Java – Метод Math.min()
    • 13.13. Java – Метод Math.max()
    • 13.14. Java – Метод Math.exp()
    • 13.15. Java – Метод Math.log()
    • 13.16. Java – Метод Math.pow()
    • 13.17. Java – Метод Math.sqrt()
    • 13.18. Java – Метод Math.sin()
    • 13.19. Java – Метод Math.cos()
    • 13.20. Java – Метод Math.tan()
    • 13.21. Java – Метод Math.asin()
    • 13.22. Java – Метод Math.acos()
    • 13.23. Java – Метод Math.atan()
    • 13.24. Java – Метод Math.atan2()
    • 13.25. Java – Метод Math.toDegrees()
    • 13.26. Java – Метод Math.toRadians()
    • 13.27. Java – Метод Math.random()
    • 14. Java – Символы
    • 14.1. Java – Метод Character.isLetter()
    • 14.2. Java – Метод Character.isDigit()
    • 14.3. Java – Метод Character.isWhitespace()
    • 14.4. Java – Метод Character.isUpperCase()
    • 14.5. Java – Метод Character.isLowerCase()
    • 14.6. Java – Метод Character.toUpperCase()
    • 14.7. Java – Метод Character.toLowerCase()
    • 14.8. Java – Метод Character.toString()
    • 15. Java – Строки
    • 15.1. Java – Метод charAt()
    • 15.2. Java – Метод compareTo()
    • 15.3. Java – Метод compareToIgnoreCase()
    • 15.4. Java – Метод concat()
    • 15.5. Java – Метод contentEquals()
    • 15.6. Java – Метод copyValueOf()
    • 15.7. Java – Метод endsWith()
    • 15.8. Java – Метод equals()
    • 15.9. Java – Метод equalsIgnoreCase()
    • 15.10. Java – Метод getBytes()
    • 15.11. Java – Метод getChars()
    • 15.12. Java – Метод hashCode()
    • 15.13. Java – Метод indexOf()
    • 15.14. Java – Метод intern()
    • 15.15. Java – Метод lastIndexOf()
    • 15.16. Java – Метод length()
    • 15.17. Java – Метод matches()
    • 15.18. Java – Метод regionMatches()
    • 15.19. Java – Метод replace()
    • 15.20. Java – Метод replaceAll()
    • 15.21. Java – Метод replaceFirst()
    • 15.22. Java – Метод split()
    • 15.23. Java – Метод startsWith()
    • 15.24. Java – Метод subSequence()
    • 15.25. Java – Метод substring()
    • 15.26. Java – Метод toCharArray()
    • 15.27. Java – Метод toLowerCase()
    • 15.28. Java – Метод toString()
    • 15.29. Java – Метод toUpperCase()
    • 15.30. Java – Метод trim()
    • 15.31. Java – Метод valueOf()
    • 15.32. Java – Классы StringBuilder и StringBuffer
    • 15.32.1. Java – Метод append()
    • 15.32.2. Java – Метод reverse()
    • 15.32.3. Java – Метод delete()
    • 15.32.4. Java – Метод insert()
    • 15.32.5. Java – Метод replace()
    • 16. Java – Массивы
    • 17. Java – Дата и время
    • 18. Java – Регулярные выражения
    • 19. Java – Методы
    • 20. Java – Потоки ввода/вывода, файлы и каталоги
    • 20.1. Java – Класс ByteArrayInputStream
    • 20.2. Java – Класс DataInputStream
    • 20.3. Java – Класс ByteArrayOutputStream
    • 20.4. Java – Класс DataOutputStream
    • 20.5. Java – Класс File
    • 20.6. Java – Класс FileReader
    • 20.7. Java – Класс FileWriter
    • 21. Java – Исключения
    • 21.1. Java – Встроенные исключения
    • 22. Java – Вложенные и внутренние классы
    • 23. Java – Наследование
    • 24. Java – Переопределение
    • 25. Java – Полиморфизм
    • 26. Java – Абстракция
    • 27. Java – Инкапсуляция
    • 28. Java – Интерфейсы
    • 29. Java – Пакеты
    • 30. Java – Структуры данных
    • 30.1. Java – Интерфейс Enumeration
    • 30.2. Java – Класс BitSet
    • 30.3. Java – Класс Vector
    • 30.4. Java – Класс Stack
    • 30.5. Java – Класс Dictionary
    • 30.6. Java – Класс Hashtable
    • 30.7. Java – Класс Properties
    • 31. Java – Коллекции
    • 31.1. Java – Интерфейс Collection
    • 31.2. Java – Интерфейс List
    • 31.3. Java – Интерфейс Set
    • 31.4. Java – Интерфейс SortedSet
    • 31.5. Java – Интерфейс Map
    • 31.6. Java – Интерфейс Map.Entry
    • 31.7. Java – Интерфейс SortedMap
    • 31.8. Java – Класс LinkedList
    • 31.9. Java – Класс ArrayList
    • 31.10. Java – Класс HashSet
    • 31.11. Java – Класс LinkedHashSet
    • 31.12. Java – Класс TreeSet
    • 31.13. Java – Класс HashMap
    • 31.14. Java – Класс TreeMap
    • 31.15. Java – Класс WeakHashMap
    • 31.16. Java – Класс LinkedHashMap
    • 31.17. Java – Класс IdentityHashMap
    • 31.18. Java – Алгоритмы Collection
    • 31.19. Java – Iterator и ListIterator
    • 31.20. Java – Comparator
    • 32. Java – Дженерики
    • 33. Java – Сериализация
    • 34. Java – Сеть
    • 34.1. Java – Обработка URL
    • 35. Java – Отправка Email
    • 36. Java – Многопоточность
    • 36.1. Java – Синхронизация потоков
    • 36.2. Java – Межпоточная связь
    • 36.3. Java – Взаимная блокировка потоков
    • 36.4. Java – Управление потоками
    • 37. Java – Основы работы с апплетами
    • 38. Java – Javadoc

    Метод Math.pow()

    Метод Math.pow() — возводит значение первого аргумента в степень второго аргумента, тем самым позволяет осуществить быстрое возведение в степень любых значений.

    Синтаксис

    double pow(double base, double exponent) 

    Параметры

    Подробная информация о параметрах:

    • base — любой примитивный тип данных.
    • exponent — любой примитивный тип данных.

    Возвращаемое значение

    • В Java Math.pow() возвращает double значение первого аргумента, возведенное в степень второго аргумента.

    Пример 1: возведение числа в квадрат и куб

    Для возведения любого числа в квадрат с помощью метода Math.pow() необходимо в качестве второго аргумента использовать значение 2, а для возведения в куб — 3 и т.д. Заметьте, для вывода на экран целого значения используется «%.0f», так как метод возвращает double значение.

    public class Test < public static void main(String args[])< // Возведение в квадрат числа 3 int a1 = 3; int b1 = 2; System.out.printf("Число 3 в квадрате равно %.0f \n", Math.pow(a1, b1)); // Возведение в квадрат числа 5 int a2 = 5; int b2 = 2; System.out.println("Число 5 в квадрате равно " + Math.pow(a2, b2)); // Возведение в куб числа 2 int a3 = 2; int b3 = 3; System.out.printf("Число 2 в кубе равно %.0f \n", Math.pow(a3, b3)); // Возведение в куб числа 3 int a4 = 3; int b4 = 3; System.out.println("Число 3 в кубе равно " + Math.pow(a4, b4)); >> 

    Получим следующий результат:

    Число 3 в квадрате равно 9 Число 5 в квадрате равно 25.0 Число 2 в кубе равно 8 Число 3 в кубе равно 27.0 

    Пример 2: возведение числа в дробную степень

    public class Test < public static void main(String args[])< double x1 = 10.635; double y1 = 3.76; System.out.printf("Значение %.3f в степени %.2f равно %.3f \n", x1, y1, Math.pow(x1, y1)); System.out.printf("pow(%.3f, %.3f) = %.3f \n\n", x1, y1, Math.pow(x1, y1)); int x2 = 2; double y2 = 3.76; System.out.printf("Значение 2 в степени %.2f равно %.3f \n", y2, Math.pow(x2, y2)); System.out.printf("pow(2, %.3f) = %.3f", y2, Math.pow(x2, y2)); >> 

    Получим следующий результат:

    Значение 10,635 в степени 3,76 равно 7253,256 pow(10,635, 3,760) = 7253,256 Значение 2 в степени 3,76 равно 13,548 pow(2, 3,760) = 13,548 

    Пример 3: возведение числа в отрицательную степень

    public class Test < public static void main(String args[])< // Возведение числа в отрицательную дробную степень double x = 7.525; double y = -1.49; System.out.printf("Значение %.3f в степени %.2f равно %.3f \n", x, y, Math.pow(x, y)); System.out.printf("pow(%.3f, %.3f) = %.3f \n\n", x, y, Math.pow(x, y)); // Возведение числа в отрицательную степень int a = 2; int b = -2; System.out.printf("Значение 2 в степени -2 равно %.2f \n", Math.pow(a, b)); System.out.printf("pow(2, -2) = %.2f", Math.pow(a, b)); >> 

    Получим следующий результат:

    Значение 7,525 в степени -1,49 равно 0,049 pow(7,525, -1,490) = 0,049 Значение 2 в степени -2 равно 0,25 pow(2, -2) = 0,25 

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

    Заметьте, что при возведении отрицательного числа в дробную степень мы не получим результат (NaN).

    public class Test < public static void main(String args[])< // Возведение отрицательного дробного числа в степень double x1 = -7.525; double y1 = 1.49; System.out.printf("Значение %.3f в степени %.2f равно %.3f \n", x1, y1, Math.pow(x1, y1)); System.out.printf("pow(%.3f, %.3f) = %.3f \n\n", x1, y1, Math.pow(x1, y1)); double x2 = -7.525; double y2 = 2; System.out.printf("Значение %.3f в степени %.0f равно %.3f \n", x2, y2, Math.pow(x2, y2)); System.out.printf("pow(%.3f, %.0f) = %.3f \n\n", x2, y2, Math.pow(x2, y2)); double x3 = -7.525; double y3 = 3; System.out.printf("Значение %.3f в степени %.0f равно %.3f \n", x3, y3, Math.pow(x3, y3)); System.out.printf("pow(%.3f, %.0f) = %.3f \n\n", x3, y3, Math.pow(x3, y3)); // Возведение отрицательного числа в степень int a1 = -2; int b1 = 2; System.out.printf("Значение -2 в степени 2 равно %.0f \n", Math.pow(a1, b1)); System.out.printf("pow(-2, 2) = %.0f \n\n", Math.pow(a1, b1)); int a2 = -2; int b2 = 3; System.out.printf("Значение -2 в степени 3 равно %.0f \n", Math.pow(a2, b2)); System.out.printf("pow(-2, 3) = %.0f", Math.pow(a2, b2)); >> 

    Получим следующий результат:

    Значение -7,525 в степени 1,49 равно NaN pow(-7,525, 1,490) = NaN Значение -7,525 в степени 2 равно 56,626 pow(-7,525, 2) = 56,626 Значение -7,525 в степени 3 равно -426,108 pow(-7,525, 3) = -426,108 Значение -2 в степени 2 равно 4 pow(-2, 2) = 4 Значение -2 в степени 3 равно -8 pow(-2, 3) = -8 

    Пример 5: возведение каждого числа в квадрат и вывод на экран

    public class Test < public static void main(String args[])< int a = 1; // Начальное число int b = 10; // Конечное число // Возведение каждого числа в квадрат и вывод на экран for (int i = a; i > > 

    Получим следующий результат:

    Значение 1 в квадрате равно 1 Значение 2 в квадрате равно 4 Значение 3 в квадрате равно 9 Значение 4 в квадрате равно 16 Значение 5 в квадрате равно 25 Значение 6 в квадрате равно 36 Значение 7 в квадрате равно 49 Значение 8 в квадрате равно 64 Значение 9 в квадрате равно 81 Значение 10 в квадрате равно 100 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *