0
0

Mathクラスのメソッド まとめ

Posted at

Mathクラス

数値を操作する。(対して、文字列はString)

abs()

引数の絶対値を返す。

package text.section_20;

public class Math_Test {

	public static void main(String[] args) {
		
		int A = -100;
		
		// 絶対値を返す abs()
		System.out.println("絶対値は" + Math.abs(A));
				
		
	}
}

実行結果

絶対値は100

absの前にMath.がいるんだな。Math.abs(引数)としないといけない。

max()とmin()

max:引数で渡した値を比較して大きい方の値を返す
min:引数で渡した値を比較して小さい方の値を返す

package text.section_20;

public class Math_Test {

	public static void main(String[] args) {
		
		int A = 100;
		int B = 500;
		int C = 1;
		int D = -5; 
		
		
		// 大き方の値を返す
		System.out.println("AとBの比較:" + Math.max(A,B));
		// 大き方の値を返す
		System.out.println("CとDの比較:" + Math.max(C,D));
		
		// 小さい方の値を返す
		System.out.println("CとD比較:" + Math.min(C,D));	
	}
}

実行結果 大きい方の値を表示してくれる。

AとBの比較500
CとDの比較1
CとD比較-5

ちなみに引数は2つだけ。2つの値の比較にしか使えない。

// 一番大きい値を返す
		System.out.println("AからDの比較:" + Math.max(A,B,C,D));

実行結果はエラー
スクリーンショット 2024-02-15 13.00.29.png

似たようなメソッドでStringクラスのcompareTo()があった。こちらは、比較元の数値が比較先より小さけれは負の値、大きければ正の値を返してくれる。
2つの値のどちらが大きいか?は、 Math.max(A,B)でいけるが、複数ある値の中から最大値を求めるためにはmaxメソッドをループで回していく。詳しくはこちら

ceil()、floor()、round()

ceil():引数で渡した値を切り上げた値を戻り値として返す
floor():引数で渡した値を切り下げた値を戻り値として返す
round():引数で渡した値を四捨五入した値を返す
ceil()の実装》

package text.section_20;

public class Math_Test {

	public static void main(String[] args) {
		
		double A = 1.6;
	    double B = 1.4;
	    double C = -1.4;
		
		//ceil() 切り上げる
		System.out.println(Math.ceil(A));
		System.out.println(Math.ceil(B));
		System.out.println(Math.ceil(C));		
		
	}	
}

実行結果

2.0
2.0
-1.0

random()

  • 乱数を戻り値として返す
  • 「* 乱数の範囲指定」を付けて、乱数の範囲を指定できる
package text.section_20;

public class Math_Test {

	public static void main(String[] args) {
		for (int i = 0; i < 7; i++) {
			// 乱数を7個出力する
			System.out.println(Math.random() * 7);
		}
	}	
}

実行結果

1.0600177869586926
1.6762898035128473
4.527356048973696
3.229690663737976
3.010668841363924
5.9490417372423074
0.6552836585924036

下記のようにround()と組み合わせると整数の乱数を生成できる。

System.out.println(Math.round((Math.random() * 7)));

実行結果
スクリーンショット 2024-02-15 20.54.25.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0