0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Math pow</a></li>
1
<ul><li><a>Math pow</a></li>
2
<li><a>Значение квадрата числа</a></li>
2
<li><a>Значение квадрата числа</a></li>
3
<li><a>Число в степени</a></li>
3
<li><a>Число в степени</a></li>
4
<li><a>Рекурсия</a></li>
4
<li><a>Рекурсия</a></li>
5
<li><a>BigInteger</a></li>
5
<li><a>BigInteger</a></li>
6
</ul><p>В этой статье мы расскажем о том, как выполнять<strong>возведение в степень в<a>языке программирования</a>Java</strong>. Читателю будут представлены 5 актуальных способов решения поставленной задачи.</p>
6
</ul><p>В этой статье мы расскажем о том, как выполнять<strong>возведение в степень в<a>языке программирования</a>Java</strong>. Читателю будут представлены 5 актуальных способов решения поставленной задачи.</p>
7
<p>Но прежде чем мы приступим к перечислению способов, давайте для начала вспомним, что же вообще представляет собой операция возведения:</p>
7
<p>Но прежде чем мы приступим к перечислению способов, давайте для начала вспомним, что же вообще представляет собой операция возведения:</p>
8
<p>Таким образом, речь идет об<strong>умножении числа на свое же значение</strong><em>n</em>-е количество раз. Умножаемое число - это основание степени, а количество операций по умножению - показатель. Результат такого перемножения и будет называться возведением в степень. Для числа 33 результат будет равен 27, так как 3 х 3 х 3 = 27.</p>
8
<p>Таким образом, речь идет об<strong>умножении числа на свое же значение</strong><em>n</em>-е количество раз. Умножаемое число - это основание степени, а количество операций по умножению - показатель. Результат такого перемножения и будет называться возведением в степень. Для числа 33 результат будет равен 27, так как 3 х 3 х 3 = 27.</p>
9
<p>Теперь давайте рассмотрим, как это все реализуется в языке программирования Java.</p>
9
<p>Теперь давайте рассмотрим, как это все реализуется в языке программирования Java.</p>
10
<h2><strong>Math pow</strong></h2>
10
<h2><strong>Math pow</strong></h2>
11
<p>Использование класса<strong>Math</strong>- наиболее простой вариант решения поставленной задачи. На практике его применяют в большинстве ситуаций. Public class Math включает в себя математические методы, в том числе те, которые связаны с геометрией и тригонометрией. В этом классе методы реализованы в качестве статических, следовательно, есть возможность вызывать их через имя класса Math, не создавая объект класса.</p>
11
<p>Использование класса<strong>Math</strong>- наиболее простой вариант решения поставленной задачи. На практике его применяют в большинстве ситуаций. Public class Math включает в себя математические методы, в том числе те, которые связаны с геометрией и тригонометрией. В этом классе методы реализованы в качестве статических, следовательно, есть возможность вызывать их через имя класса Math, не создавая объект класса.</p>
12
<p>Смотрим код:</p>
12
<p>Смотрим код:</p>
13
<p><strong>public</strong><strong>static</strong><strong><a>int</a></strong>pow(<strong>int</strong>value,<strong>int</strong>powValue) {</p>
13
<p><strong>public</strong><strong>static</strong><strong><a>int</a></strong>pow(<strong>int</strong>value,<strong>int</strong>powValue) {</p>
14
<p> <strong>return</strong>(<strong>int</strong>) Math.pow(value, powValue);</p>
14
<p> <strong>return</strong>(<strong>int</strong>) Math.pow(value, powValue);</p>
15
<p>}</p>
15
<p>}</p>
16
<p>Здесь пришлось использовать операцию приведения типа (int), т. к. этот метод класса Math осуществляет возвращение значения типа<a>double</a>(аргументы, по сути, тоже double, однако там применяется неявное приведение типа).</p>
16
<p>Здесь пришлось использовать операцию приведения типа (int), т. к. этот метод класса Math осуществляет возвращение значения типа<a>double</a>(аргументы, по сути, тоже double, однако там применяется неявное приведение типа).</p>
17
<p>Теперь рассмотрим несколько дополнительных вариантов решения поставленной задачи.</p>
17
<p>Теперь рассмотрим несколько дополнительных вариантов решения поставленной задачи.</p>
18
<h2><strong>Значение квадрата числа</strong></h2>
18
<h2><strong>Значение квадрата числа</strong></h2>
19
<p>Начнем с наиболее простого и напишем метод по возведению в квадрат:</p>
19
<p>Начнем с наиболее простого и напишем метод по возведению в квадрат:</p>
20
<p>Выполняем вызов в<a>main</a>:</p>
20
<p>Выполняем вызов в<a>main</a>:</p>
21
<p><strong>public</strong><strong>static</strong><strong>void</strong>main(String[] args) {</p>
21
<p><strong>public</strong><strong>static</strong><strong>void</strong>main(String[] args) {</p>
22
<p> System.out.println(Solution.pow(7));</p>
22
<p> System.out.println(Solution.pow(7));</p>
23
<p>}</p>
23
<p>}</p>
24
<p>Как видим, возведение в квадрат сложностей не вызывает.</p>
24
<p>Как видим, возведение в квадрат сложностей не вызывает.</p>
25
<h2><strong>Число в степени</strong></h2>
25
<h2><strong>Число в степени</strong></h2>
26
<p>Чаще всего нам приходится работать не с квадратным значением числа, а с числом в определенной степени. Усложним предыдущий вариант и задействуем кастомное Java pow-значение:</p>
26
<p>Чаще всего нам приходится работать не с квадратным значением числа, а с числом в определенной степени. Усложним предыдущий вариант и задействуем кастомное Java pow-значение:</p>
27
<p><strong>public</strong><strong>static</strong><strong>void</strong>main(String[] args) {</p>
27
<p><strong>public</strong><strong>static</strong><strong>void</strong>main(String[] args) {</p>
28
<p> System.out.println(Solution.pow(7, 4));</p>
28
<p> System.out.println(Solution.pow(7, 4));</p>
29
<p>}</p>
29
<p>}</p>
30
<p><strong>public</strong><strong>static</strong><strong>int</strong>pow(<strong>int</strong>value,<strong>int</strong>powValue) {</p>
30
<p><strong>public</strong><strong>static</strong><strong>int</strong>pow(<strong>int</strong>value,<strong>int</strong>powValue) {</p>
31
<p> <strong>int</strong>result = 1;</p>
31
<p> <strong>int</strong>result = 1;</p>
32
<p> <strong>for</strong>(<strong>int</strong>a = 1; а <= powValue; а++) {</p>
32
<p> <strong>for</strong>(<strong>int</strong>a = 1; а <= powValue; а++) {</p>
33
<p> result = result * value;</p>
33
<p> result = result * value;</p>
34
<p> }</p>
34
<p> }</p>
35
<p> <strong>return</strong>result;</p>
35
<p> <strong>return</strong>result;</p>
36
<p>}</p>
36
<p>}</p>
37
<p>Алгоритм несложен: мы как будто задаем точку отсчета result, а потом умножаем его на значение value столько, сколько будет работать<a>цикл</a>с powValue.</p>
37
<p>Алгоритм несложен: мы как будто задаем точку отсчета result, а потом умножаем его на значение value столько, сколько будет работать<a>цикл</a>с powValue.</p>
38
<h2><strong>Рекурсия</strong></h2>
38
<h2><strong>Рекурсия</strong></h2>
39
<p>Следующий вариант является уже более экзотичным.</p>
39
<p>Следующий вариант является уже более экзотичным.</p>
40
<p>Вы должны знать, что рекурсия позволяет методу осуществлять<strong>вызов самого себя</strong>. В языке программирования Java такие методы тоже есть и называются они рекурсивными.</p>
40
<p>Вы должны знать, что рекурсия позволяет методу осуществлять<strong>вызов самого себя</strong>. В языке программирования Java такие методы тоже есть и называются они рекурсивными.</p>
41
<p>На практике рекурсивно можно решать многие алгоритмические задачи. Наша - не исключение. Давайте выполним возведение в степень рекурсивно:</p>
41
<p>На практике рекурсивно можно решать многие алгоритмические задачи. Наша - не исключение. Давайте выполним возведение в степень рекурсивно:</p>
42
<p>Как видно из реализации, существуют 2 момента:</p>
42
<p>Как видно из реализации, существуют 2 момента:</p>
43
<ol><li>Условие выхода из рекурсии. Если возведенное значение степени достигает единицы, нас выбрасывает назад.<ol><li>Непосредственный механизм умножения value на результат вызова того же самого метода, однако с powValue - 1.</li>
43
<ol><li>Условие выхода из рекурсии. Если возведенное значение степени достигает единицы, нас выбрасывает назад.<ol><li>Непосредственный механизм умножения value на результат вызова того же самого метода, однако с powValue - 1.</li>
44
</ol></li>
44
</ol></li>
45
</ol><p>Для совсем ленивых разработчиков существуют способы "из коробки". Рассмотрим один из них.</p>
45
</ol><p>Для совсем ленивых разработчиков существуют способы "из коробки". Рассмотрим один из них.</p>
46
<h2><strong>BigInteger</strong></h2>
46
<h2><strong>BigInteger</strong></h2>
47
<p>BigInteger - это класс, который обеспечивает хранение целых чисел произвольной величины. Здесь существуют разные арифметические методы, которые позволяют работать с числами.</p>
47
<p>BigInteger - это класс, который обеспечивает хранение целых чисел произвольной величины. Здесь существуют разные арифметические методы, которые позволяют работать с числами.</p>
48
<p>Выполняем возведение посредством BigInteger<a>в Java</a>:</p>
48
<p>Выполняем возведение посредством BigInteger<a>в Java</a>:</p>
49
<p>Тут все предельно просто и не нуждается в дополнительных разъяснениях, не так ли? Однако на сегодня все, теперь вы будете знать о разных способах, позволяющих возводить в степень в "Джава". </p>
49
<p>Тут все предельно просто и не нуждается в дополнительных разъяснениях, не так ли? Однако на сегодня все, теперь вы будете знать о разных способах, позволяющих возводить в степень в "Джава". </p>
50
<p><em>По материалам: https://javarush.ru/groups/posts/2828-kak-vihpolnitjh-vozvedenie-v-stepenjh-v-java.</em></p>
50
<p><em>По материалам: https://javarush.ru/groups/posts/2828-kak-vihpolnitjh-vozvedenie-v-stepenjh-v-java.</em></p>
51
<p>Интересуют более продвинутые знания по языку программирования Java? Добро пожаловать на курсы в Otus!</p>
51
<p>Интересуют более продвинутые знания по языку программирования Java? Добро пожаловать на курсы в Otus!</p>
52
<a></a>
52
<a></a>