해당 글의 목적은 주요 숫자 조작함수를 이해하고 예제를 통한 이해를 돕기 위해 작성한 글입니다. 해당 글에서는 모든 함수에 대해서는 포함하고 있지 않으며 자주 사용되는 함수 위주로 작성하였습니다. (상시 업데이트 예정입니다)
1) 숫자 조작함수 요약
함수
함수 설명
사용 예시
결과값
Math.random()
해당 함수는 0.0이상 1.0미만의 난수를 반환합니다.
Math.random * 101
(double) 52
Math.pow(n, m)
해당 함수는 n의 m제곱근 값을 반환합니다.
Math.pow(11, 2)
(double) 121.0
Math.sqrt(n)
해당 함수는 n의 루트값을 반환합니다.
Math.sqrt(121)
(dobule) 11.0
Math.abs(n)
해당 함수는 n의 부호(+, -)를 제외한 값을 반환합니다.
Math.abs(-10)
(double) 10
Math.ceil(n)
해당 함수는 n이 소수점일 경우 값을 올림하여 반환합니다.
Math.ceil(3.54)
(double) 4.0
Math.round(n)
해당 함수는 n의 소수점일 경우 값을 반올림하여 반환합니다
Math.round(3.54)
(double) 4.0
Math.floor(n)
해당 함수는 n의 소수점일 경우 값을 내림하여 반환합니다.
Math.floor(3.54)
(double) 3.0
Math.max(n, m)
해당 함수는 n과 m을 비교하여 최대값을 반환합니다.
Math.max(1, 10)
(int) 10
Math.min(n, m)
해당 함수는 n과 m을 비교하여 최소값을 반환합니다.
Math.min(1, 10)
(int) 1
Math.subtractExact(n, m)
해당 함수는 n에서 m을 뺀 값을 반환합니다.
Math.subtractExact(1, 10)
(int) -9
Math.multiplyExact(n, m)
해당 함수는 n과 m을 곱한 값을 반환합니다
Math.multiplyExact(1, 10)
(int) 10
Math.floorDiv(n, m)
해당 함수는 n과 m을 나눈 값을 반환합니다.
Math.floorDiv(25, 5)
(int) 5
Integer.toString(n, m)
해당 함수는 n의 10진수의 값을 m 진법으로 반환합니다.
Integer.toString(10, 2)
(String) 1010
Integer.parseInt(n)
해당 함수는 문자열을 숫자로 변환해주며, 부호(+, -)를 포함하여서 반환합니다.
Integer.parseInt("-1234")
(int) -1234
Integer.parseInt(n, m)
해당 함수는 n의 n진법의 값을 m의 진법에 따라 10진수로 반환합니다.
Integer.toString(”1010”, 2)
(String) 10
2) 숫자 조작함수 상세
1. [Math.random] 난수를 기반으로 랜덤 한 숫자를 만드는 함수
💡 해당 함수는 0.0 이상 1.0 미만의 랜덤 한 함수를 난수를 반환합니다.
/**
* random() 함수 API
*
* @return result {double} : 랜덤 한 실수 값
*/publicstaticdoublerandom(){
return Math.RandomNumberGeneratorHolder.randomNumberGenerator.nextDouble();
}
/**
* pow() 함수 API
*
* @param a {double} : 실수 값
* @param b {double} : 실수의 n 제곱
* @return result {double} : 실수의 제곱 값
*/publicstaticdoublepow(double a, double b){
return StrictMath.pow(a, b); // default impl. delegates to StrictMath
}
💡해당 함수는 n의 소수점일 경우 값을 내림하여 반환합니다. 💡+ 인 경우에는 정수 값만 반환합니다. ex) 5.95 ⇒ 5 💡 - 인 경우에는 기존의 값에 -1을 더합니다 ex) -5.95 ⇒ -6
/**
* floor() 함수 API
*
* @param a {double} : 내림을 수행 할 실수
* @return result {double} : 내림을 수행할 실수
*/publicstaticdoublefloor(double a){
return StrictMath.floor(a); // default impl. delegates to StrictMath
}
💡 해당 함수는 n이 소수점일 경우 값을 올림 하여 반환합니다. 💡 +인 경우는 정수만 반환한다. ex) 5.95 ⇒ 5 💡 -인 경우는 그 자체(정수)를 반환 한다. ex) -5.95 ⇒ -5
/**
* ceil() 함수 API
*
* @param a {double} : 올림을 수행 할 실수
* @return result {double} : 올림 수행 후 값
*/publicstaticdoubleceil(double a){
return StrictMath.ceil(a); // default impl. delegates to StrictMath
}
/**
* min() 함수 API
*
* @param a {int, long, flaot, double} 비교군 1
* @param b {int, long, flaot, double} 비교군 2
* @return result {int, long, flaot, double} 비교 후 최소값
*/publicstaticintmin(int a, int b){
return (a <= b) ? a : b;
}
int x =32;
int y =19;
int z =12;
// 두개의 숫자간의 비교만 가능하다. (returnint)
int min1 = Math.min(x, y); //12int min2 = Math.min(y, z); //19int min3 = Math.min(x, z); //19
9. [Math.max] 숫자 간의 최대값을 반환하는 함수
💡 해당 함수는 n과 m을 비교하여 최대값을 반환합니다.
/**
* max() 함수 API
*
* @param a {int, long, float, double} 비교군 1
* @param b {int, long, float, double} 비교군 2
* @return result {int, long, float, double} 비교 후 최대값
*/publicstaticintmax(int a, int b){
return (a >= b) ? a : b;
}
int x =32;
int y =19;
int z =12;
// 두개의 숫자간의 비교만 가능하다. (returnint)
int max1 = Math.max(x, y); //32int max2 = Math.max(y, z); //19int max3 = Math.max(x, z); //32
10. [Math.subtractExact] 숫자 간의 뺄셈을 하는 함수
💡 Math.subtractExact
- 주어진 두 개의 정수 값을 뺄셈하여 결과를 반환하는 함수입니다.
- 이 함수는 뺄셈 연산의 결과가 정수 범위를 초과하는 경우 ArithmeticException을 발생시킵니다.
/**
* subtractExact() 함수 API
*
* @param x {int, long} 피연산자 1
* @param y {int, long} 피연산자 2
* @return result {int, long} 뺄셈 결과
* @throws ArithmeticException 뺄셈 결과가 정수 범위를 초과하는 경우
*/publicstaticintsubtractExact(int x, int y){
return x - y;
}
int result = Math.subtractExact(10, 5); // 결과: 5
11. [Math.multiplyExact] 숫자 간의 곱셈을 하는 함수
💡 Math.multiplyExact - 주어진 두 개의 정수 값을 곱셈하여 결과를 반환하는 함수입니다.
- 이 함수는 곱셈 연산의 결과가 정수 범위를 초과하는 경우 ArithmeticException을 발생시킵니다.
/**
* multiplyExact() 함수 API
*
* @param x {int, long} 피연산자 1
* @param y {int, long} 피연산자 2
* @return result {int, long} 곱셈 결과
* @throws ArithmeticException 곱셈 결과가 정수 범위를 초과하는 경우
*/publicstaticintmultiplyExact(int x, int y){
return x * y;
}
int result = Math.multiplyExact(3, 4); // 결과: 12
12. [Math.floorDiv] 숫자간의 나눗셈을 하는 함수
💡 Math.floorDiv - 주어진 두 개의 정수 값을 나눈 몫을 반환하는 함수입니다. - 이 함수는 나누는 수와 나뉘는 수의 부호를 유지하고, 소수점 이하를 버리고 몫을 계산합니다.
/**
* floorDiv() 함수 API
*
* @param x {int, long} 피연산자 1
* @param y {int, long} 피연산자 2
* @return result {int, long} 몫
*/publicstaticintfloorDiv(int x, int y){
return x / y;
}
int result = Math.floorDiv(10, 3); // 결과: 3
13. [Integer.toString] 숫자(10진법)를 n진법으로 변환하는 함수
💡 숫자를 n진법으로 변환하는 함수입니다.
/**
* toString() 함수 API
*
* @param i {int} : 전환 하려는 10진법 값
* @param radix {int} : 전환 하려는 n진법 값
* @return result {String} : 변환 값
*/publicstatic String toString(int i, int radix){
...
return toStringUTF16(i, radix);
}