java.lang.Math 클래스
- 수학 관련 기능들을 상수 및 메서드로 제공
- final 클래스이므로 상속 불가
- 모든 멤버는 static 으로 선언되어 있으므로 클래스명만으로 접근 가능
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
double d =3.45;
System.out.println(d + "의 소수점 첫째자리 반올림 결과 : " + Math.round(d));
// = 3
double d2
// 실수 d의 ㅗ수점 둘째자리 반올림 결과를 d2 에 저장(3.5)
// 1. 소수점 첫째자리에서 반올림을 수행하므로 둘째자리 숫자를 첫째자리로 이동(d*10);
// 2. 다시 원래 자리로 되돌리기 위해 곱한 값만큼 나누기 수행 (d*10/10);
// 3. 이때 round() 메서드 실행 결과가 정수이므로 나누는 값이 정수이면 소수점 값이 버려지므로 반드시 나누는 값을 실수로 지정
d2 = Math.round(d*10)/10.0;
System.out.println(d + "의 소수점 둘째자리 반올림 결과 : " + d2);
// = 3.5
난수 발생을 위한 random() 메서드
- double 타입 범위 내의 난수 1개를 발생
(0.0<= x <1.0) 범위
- 결과를 그대로 사용하기 보단 가공하여 원하는 범위 내의 숫자로 변형
for(int i =0 ; i<10 ; i++){
Math.random(); == 0.0 <= x <1.0
Math.random() * 10; 0.0 <= x < 10.0
(int)(Math.random() *10); 0<= x <10 // 정수로 변경
// 난수 발생을 통해 정수형태로 사용하는 기본 공식(1 <= x <= 상한값)
// (int)(Math.random() * 상한값 +1)
(int)(Math.random() * 10) +1; // 1<= x <11
// 로또 번호 1개 생성( 1~45 사이의 난수)
(int)(Math.random() * 45) +1; // 1<= x <46
}
|
cs |
'Language > Java' 카테고리의 다른 글
BigInteger & BigDecimal (0) | 2020.06.24 |
---|---|
Random 클래스 (0) | 2020.06.24 |
StringBuffer & StringBuffer 클래스 (0) | 2020.06.23 |
String 클래스의 메서드 (0) | 2020.06.23 |
String 클래스 (0) | 2020.06.23 |