728x90
반응형
* Math 클래스는 java.lang 패키지에 포함되어 있으며 기본적인 산술 연산을 제공한다.
모든 멤버 메소드는 static 타입이므로 클래스 이름으로 바로 사용하면 된다.
* Math 클래스 주요 메소드
메소드 | 설명 |
static double abs(double a) | 실수 a의 절대값 리턴 |
static double cos(double a) | 실수 a의 cosine 값 리턴 |
static double sin(double a) | 실수 a의 sine 값 리턴 |
static double tan(double a) | 실수 a의 tangent 값 리턴 |
static double exp(double a) | e^a 값 리턴 |
static double ceil(double a) | 올림. 실수 a보다 크거나 같은 수 중에서 가장 작은 정수를 실수 타입으로 리턴 |
static double floor(double a) | 내림. 실수 a보다 작거나 같은 수 중에서 가장 큰 정수를 실수 타입으로 리턴 |
static double max(double a, double b) | 두 수 a, b 중에서 큰 수 리턴 |
static double min(double a, double b) | 두 수 a, b 중에서 작은 수 리턴 |
static double random() | 0.0보다 크거나 같고 1.0보다 작은 임의의 실수 리턴 |
static long round(double a) | 반올림. 실수 a를 소수 첫째 자리에서 반올림한 정수를 long 타입으로 반환 |
static double sqrt(double a) | 실수 a의 제곱근 리턴 |
* Math 클래서에서 가장 많이 사용하는 메소드는 난수를 발생하는 random() 메소드 이다.
ex) 1~100 사이의 랜덤 정수
for(int i=0; i<10;x++){
int n = (int)(Math.random() * 100 + 1); // n은 [1~100] 사이의 랜덤 정수
Sysout.out.println(n);
}
Math.random()은 0.0보다 크거나 같고 1.0보다 작은 실수 이고 각 숫자에 100을 곱하여 0.0~99.9999.. 사이의 실수를 얻을 수 있다. 여기에 1을 더하면 1.0~100.9999... 사이의 랜덤한 실수이다. 다시 이 값을 (int)로 강제 타입 변환하면 소수점 이하가 떨어져 나가므로 1~100까지 정수 값을 얻을 수 있다.
* Math 클래스 메소드 활용
public class MathEx{
public static void main(String[] args) {
double a = 3.14;
System.out.println(Math.PI); // 원주율 상수 출력
System.out.println(Math.ceil(a)); // ceil(올림)
System.out.println(Math.floor(a)); // floor(내림)
System.out.println(Math.sqrt(9)); // 제곱근
System.out.println(Math.exp(2)); // e의 2승
System.out.println(Math.round(3.14)); // 반올림
// [1, 45] 사이의 정수형 난수 5개 발생
System.out.println("이번주 행운의 번호는 ");
for(int i=0; i<5; i++) {
System.out.println (((int)Math.random()*45+1)+" "); // 난수 발생
}
}
}
실행 결과
3.141592653...
4.0
3.0
3.0
7.38905609893065...
3
이번주 행운의 번호는 15 31 9 2 5
반응형