Back-end/이것이 자바다[신용권 한빛미디어]

Math, Random 클래스

Ho's log 2021. 10. 24. 19:29

Math 클래스


java.lang.Math 클래스는 수학계산에 사용할 수 있는 메소드를 제공

 

Math 클래스가 제공하는 메소드는 모두 정적 (Static) 이므로 Math 클래스로 바로 사용이 가능 

메소드 설명 예제 코드 리턴값
int abs(int a)
double abs(dobule a)
절대값 int v1 = Math.abs(-5);
double v2 =Math.abs(-3.14);
v1 = 5
v2 = 3.14
double ceil(double a) 올림값 double v3 = Math.ceil(5.3);
double v4 = Math.ceil(-5.3);
v3 = 6.0
v4 = -5.0
double floor(double a) 버림값 double v5 = Math.floor(5.3);
double v6 = Math.floor(-5.3);
v5 = 5.0
v6 = -6.0
int max(int a, int b)
double max(double a, double b)
최대값 int v7 = Math.max(5, 9);
double v8 = Math.max(5.3, 2.5)
v7 = 9
v8 = 5.3
int min(int a, int b)
double min(double a, double b)
최소값 int v9 = Math.min(5, 9 );
double v10 = Math.min(5,3, 2.5);
v9 = 5
v10 = 2.5
double random() 랜덤값 double v11 = Math.random(); 0.0<=v11<1.0
double rint(doubla a) 가까운 정수의 실수값 double v12 = Math.rint(5.3);
double v13 = Math.rint(5.7)
v12 = 5.0
v13 = 6.0
long round(double a) 반올림값  long v14 = Math.round(5,3);
long v15 = Math.round(5.7)
v14 = 5
v15 = 6

 

*(int)(Math.random()*n) +start => start <= ... < (start +n) 범위의 수 를 얻기 위한 랜덤 연산식 

 

Random 클래스


java.util.Random 클래스는 난수를 얻어내기 위해 다양한 메소드 제공

 Math.random() 메소드는 0.0에서 1사의 double 난수를 얻는 데만 사용

Random 클래스는 boolean, int, long, float, double 난수를 얻을 수 있다. 

또 다른 차이점은 Random 클래스는 종자값 (seed)을 설정 할수 있다.

종자 값은 난수를 만드는 알고리즘에 사용되는 값으로 종자 값이 같으면 같은 난수를 얻는다. 

 

생성자 설명
Random() 호출 시 마다 다른 종자값(현재시간 이용)이 자동 설정된다
Random(long seed) 매개값으로 주어진 종자값이 설정 된다 . 

 

리턴값 메소드(매개변수) 설명
boolean nextBoolean() boolean 타입의 난수를 리턴
double nextDouble() double 타입의 난수를 리턴(0.0 <= ~ < 1.0)
int nextInt() int 타입의 난수를 리턴 (-2**31 <= ~ <= 2**31-1)
int nextInt(int n) int 타입의 난수를 리턴 (0<= ~ <n )

'Back-end > 이것이 자바다[신용권 한빛미디어]' 카테고리의 다른 글

Format 클래스  (0) 2021.10.24
Date, Calender 클래스  (0) 2021.10.24
Wrapper(포장) 클래스  (0) 2021.10.24
Array 클래스  (0) 2021.10.24
정규 표현식과 Pattern 클래스  (0) 2021.10.24