본 게시글은 혼자 공부하는 자바 (저자 : 신용권)의 책과 유튜브 영상을 참고하였고, 개인적으로 정리하는 글임을 알립니다.
java.lang.Math 클래스는 수학 계산에 사용할 수 있는 메소드를 제공하고 있다. Math 클래스가 제공하는 메소드는 모두 정적(static) 메소드이므로 바로 사용할 수 있다.
Math.abs(a) 메소드
- int abs(int a)
- double abs(double a)
a의 절댓값을 리턴
int v1 = Math.abs(-5); //5
double v2 = Math.abs(-3.14); //3.14
Math.ceil(a) 메소드
- double ceil(double a)
a의 올림값을 리턴
double v3 = Math.ceil(5.3); //6.0
double v4 = Math.ceil(-5.3); //-5.0
Math.floor(a) 메소드
- double floor(double a)
a의 내림값을 리턴
double v5 = Math.floor(5.3); //5.0
double v6 = Math.floor(-5.3); //-6.0
Math.max(a, b) 메소드
- int max(int a, int b)
- double max(double a, double b)
a와 b 중 더 큰 값을 리턴
int v7 = Math.max(5, 9); //9
double v8 = Math.max(5.3, 2.5); //5.3
Math.min(a,b) 메소드
- int min(int a, int b)
- double min(double a, double b)
a와 b 중 더 작은 값을 리턴
int v9 = Math.min(5, 9); //5
double v10 = Math.min(5.3, 2.5); //2.5
Math.random() 메소드
0.0과 1.0 사이(0.0 포함, 1.0 미포함) 범위에 속하는 하나의 double 타입의 값을 리턴
double v11 = Math.random(); //0.47464615326686044
1부터 n까지 자연수를 추출하는 코드는 아래와 같다.
int num = (int) (Math.random()*n) + 1;
0부터 n까지 자연수를 추출하려면 위 코드에서 +1을 지워주면 된다.
Math.rint(a) 메소드
- double rint(double a)
a의 가장 가까운 정수의 실수값을 리턴
double v12 = Math.rint(5.3); //5.0
double v13 = Math.rint(5.7); //6.0
Math.round(a) 메소드
- long round(double a)
a의 소수점 첫째 자리가 5 이상이면 다음 큰 정수값을, 4 이하이면 다음 작은 정수값을 리턴한다.
long v14 = Math.round(5.3); //5
long v15 = Math.round(5.7); //6
만약 원하는 소수 자릿수에서 반올림된 값을 얻기 위해서는 반올림할 자릿수가 소수점 첫째 자리가 되도록 10^n을 곱한 후, round()메소드의 리턴값을 얻고 다시 10^n.0을 나눠주면 된다.
n=2 즉, 소수점 두 번째 자리가 반올림되는 코드는 아래와 같다.
double value = 12.3456;
double temp1 = value * 100; //1234.56
long temp2 = Math.round(temp1); //1235
double v16 = temp2 / 100.0; //12.35
Math.pow(N, M) 메소드
- N의 M제곱을 리턴하는 메소드
- 리턴 타입은 double이다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws Exception{
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int M = sc.nextInt();
double result = Math.pow(N, M); //N의 M제곱
System.out.println(N + "^" + M + "= "+ result);
}
}
/*
2 5
2^5= 32.0
*/
'Java Category > Java' 카테고리의 다른 글
JavaSE, JDK, JRE 용어정리 (0) | 2023.06.23 |
---|---|
[JAVA] Date, Calendar, LocalDateTime 클래스 (날짜와 시간 클래스) (0) | 2023.01.24 |
[JAVA]Wrapper(포장) 클래스 (0) | 2023.01.22 |
[JAVA] String 클래스 (0) | 2023.01.21 |
[JAVA] System, Class 클래스 (0) | 2023.01.20 |