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));
似たようなメソッドで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)));