こんにちは!エンジニアの中沢です。
値を2乗したりなど、任意の値で累乗(べき乗)しなければならない時、みなさんどうしていますでしょうか。
実はJavaには「Mathクラス」に「powメソッド」という、非常に簡単に「累乗(べき乗)の計算」を行ことのできる関数が存在します。
この記事では、
・Mathクラスのpowメソッドとは
・powメソッドで累乗(べき乗)の計算をする方法
という基本的な内容から、
・powメソッドを使わないで、for文で累乗の計算をする方法
などの応用的な使い方に関しても解説していきます。
今回はこれらの方法を覚えるために、「Mathクラス」の「powメソッド」の使い方をわかりやすく解説します!
なお、Javaの記事については、こちらにまとめています。
Mathクラスのpowメソッドとは
Mathクラスのpowメソッドは累乗(べき乗)の計算をするために使用します。
累乗は「2乗」とか「3乗」とか、そういうやつですね!
これは自分で計算して算出することも可能ですが、powメソッドを使えば非常に簡単に実現できます。
powメソッドで2乗してみよう!
まずはシンプルに見てみましょう。
以下がシンプルに10を、2乗する例です。
class Main{ public static void main(String args[]){ double result = Math.pow(10, 2); System.out.println(result); } }
実行結果:
100.0
ちゃんと10の2乗の値である100が返ってきていますね!
第一引数へ、元となる数値、第二引数へ何乗するかを入力しただけで実現できました。
簡単ですね!
では次に具体的な、powメソッドの使い方へ入っていきましょう。
powメソッドの具体的な使い方
それでは具体的にpowメソッドで累乗(べき乗)の計算をする方法を見てみましょう。
累乗(べき乗)の結果 = Math.pow( 基数, 指数);
powメソッドは、第1引数に「基数」を指定し、第2引数に「指数」を指定します。
基数・・・べき乗の対象となる値
指数・・・何乗するのかの値
つまり先ほどのように「10の2乗」をしたい場合には、第1引数に「10」を指定し、第2引数に「2」を指定すれば良いわけですね!
いろいろな累乗(べき乗)の計算をする方法
では応用として、いろいろな累乗(べき乗)での、powメソッドの使い方を次のプログラムで確認してみましょう。
public class Main { public static void main(String[] args) { double num1 = 4.0; double num2 = 2.0; double num3 = 0.0; double num4 = -2.0; double num5 = 0.5; double result; result = Math.pow(num1, num2); System.out.println("4の2乗 = " + result); result = Math.pow(num1, num3); System.out.println("4の0乗 = " + result); result = Math.pow(num1, num4); System.out.println("4の-2乗 = " + result); result = Math.pow(num1, num5); System.out.println("4の0.5乗 = " + result); } }
実行結果:
4の2乗 = 16.0 4の0乗 = 1.0 4の-2乗 = 0.0625 4の0.5乗 = 2.0
このプログラムでは、「4」の値を「2乗」、「0乗」、「-2乗」、「0.5乗」などで計算した結果を表示しています。
powメソッドを使わないで、for文で累乗の計算をする方法
ここでは、powメソッドを使わないで、for文で累乗の計算をする方法を解説します。
そうそう、使うことはないかもしれませんが…
もしpowメソッドが使用できない状況におちいってしまったら参考にしてみてください。
では具体的な説明に入りましょう。
累乗の計算は同じ値を繰り返し掛け算することで求められるので、for文を使って計算することができます。
次のプログラムで確認してみましょう。
public class Main { public static void main(String[] args) { int num1 = 2; int num2 = 3; int result = 1; for (int i = 0; i < num2; i++) { result *= num1; } System.out.println("2の3乗 = " + result); } }
実行結果:
2の3乗 = 8
このようにして、for文で累乗の計算をすることができました。
その他Mathクラスでできること
ここまでで、powメソッドの使い方を理解できたと思います。
べき乗を、引数だけで計算できる、非常に便利な機能でしたね!
しかしMathクラスに存在するのはpowメソッドだけではありません。
他にも便利なメソッドが揃っているんです!
参考に載せておきますね。
絶対値を求めるなら「absメソッド」
絶対値を求めるならabsメソッドが使えます!
以下リンクに詳細がまとめられていますので、読んでみてください。
切り上げなら「ceilメソッド」
小数点を切り上げるならceilメソッドを使いましょう!
【命令】
double num = Math.ceil(0.1); System.out.println(num);
【結果】
1.0
切り捨てなら「floorメソッド」
切り捨てならfloorメソッドです!
【命令】
double num = Math.floor(0.1); System.out.println(num);
【結果】
0.0
四捨五入なら「roundメソッド」
四捨五入ならばroundメソッドを使いましょう。
【命令】
double num = Math.round(0.1); System.out.println(num);
【結果】
0.0
駆け足で見てきましたが、Mathクラスには、こんな風に便利なメソッドが揃っています。
他にもありますので、計算系の処理で困ったらMathクラスを調べてみましょう!
まとめ
いかがでしたか?
今回は「Mathクラス」の「powメソッド」で、累乗(べき乗)の計算をする方法を解説しました。
累乗の計算は、for文を使っても計算することができるので、ぜひ活用してくださいね。
もし、累乗の計算方法を忘れてしまったらこの記事を確認してください!