PHASE2 LOG

主にIT関連・ゲームのログ

Javaのお勉強~Mathクラス~

   

一番キライな科目は数学!Mathです(笑)

というよりも算数から苦手ですw

 

ルートとかサイン・コサイン・タンジェントなど、そういったものを計算するクラスが存在するので

そのお勉強をしてみます。

 

Mathクラスについて

 

数学に関する計算を行うクラスがMathクラスです。

Mathクラスの持つメソッドはこちらで確認してみてください。

https://docs.oracle.com/javase/jp/6/api/java/lang/Math.html

 

今回は主なメソッドを簡単に紹介してみます。

abs()メソッド絶対値を求める。

max()メソッド:引数に渡したものの中から最大値のものを返す。

min()メソッド:引数に渡したものの中から最小値のものを返す。

※上記3つのメソッドはdouble型,float型,int型,long型で使用可

 

sqrt()メソッド平方根(ルート)を求める。

pow()メソッド:引数1を、引数2で累乗した値を返す。

sin()メソッド:サインを返す。

cos()メソッド:コサインを返す。

tan()メソッド:タンジェントを返す。

※上記5つのメソッドはdouble型が使用可

 

他にもいろいろありますが、なにせ数学ができないので割愛します(;´∀`)

 

ちなみにMathクラスのフィールドには以下のものがあります。

  • E:自然対数の底(double型)
  • PI円周率(double型)

それからMathクラスはjava.langパッケージというimport文が不要でそのまま使えるクラスとなっております。

 

乱数を作るには

 

乱数とは規則性のないランダムな数字のことをいいます。

Mathクラスのrandom()メソッドを使用すると、乱数を生成することができます。

この時生成される乱数は0.0以上、1.0以下のdouble型の値になります、


double rand = Math.random();

乱数を生成するもう1つの方法として、java.utilパッケージRandomクラスを利用することも

できますが、Mathクラスを使う方が簡単に生成できるのでオススメらしいです( ´∀`)bグッ!

 

それではこれまでのメソッドを踏まえて実際の例を見てみましょう。

public class Mathtest {
	public static void main(String[] args){
		int a = -7;
		//変数a(-7)の絶対値を変数bへ
		int b = Math.abs(a);		
		System.out.println("aの絶対値:" + b);
		
		//変数a(-7)と変数b(7)の中で最大の値を変数cへ
		int c = Math.max(a, b);
		System.out.println("aとbで大きい値は:" + c);		
		
		int d = 4;
		//変数d(4)の平方根を変数eへ
		double e = Math.sqrt(d);
		System.out.println("4の平方根は:" + e);
		
		//乱数の生成(整数)
		int rand = (int)(Math.random() * 10.0);
		System.out.println("生成した乱数の値:" +rand);
		
		//円周(直径×円周率)
		System.out.print("円周の長さ:" + rand * Math.PI);
			
	}
}

 

変数aの-7の絶対値は7なので、Math.abs(a)では7が取得できます。

Math.max(a, b)では変数aの-7と変数bの7のうちで大きい値を取得します。

 

乱数の生成はdouble型かつ0.0以上1.0以下となっておりますので、

0~10までの整数の乱数を作るためにint型へのキャストと、×10で対応しています。

 

それで生成した乱数と、Mathクラスの円周率のフィールドPIを利用して

小学校で習った「円周の長さ=直径×3.14」を計算しています!

 

実際の結果は以下の通りとなりました。

aの絶対値:7

aとbで大きい値は:7

4の平方根は:2.0

生成した乱数の値:9

円周の長さ:28.274333882308138

 

乱数を使った箇所は実行する度に生成されるので、いつも同じ結果になるわけではないです。

ややこしそうな計算があればMathクラスを頼りにします!w

 

人気ブログランキング

 -