-
자바 Math의 주요 메서드Java/자바의정석 2023. 2. 22. 23:40반응형
Math의 주요 기능들
메서드 기능 abs 절대값 max 최대값 min 최소값 ceil 올림 floor 버림 round 반올림 rint 반올림(짝수) 이러한 기능들이 있다. 아래의 코드를 보면서 하나하나 짚어보자.
이코드는 자바의정석 Ex09_13의 예제이다.
package JavaChap09; import static java.lang.Math.*; import static java.lang.System.*; class Ex9_13 { public static void main(String args[]) { double val = 90.7552; out.println("round("+ val +")="+round(val));// 반올림 val *= 100; out.println("round("+ val +")="+round(val));// 반올림 out.println("round("+ val +")/100 =" + round(val)/100); // 반올림 //소수점 이하의 값을 얻고싶다면 실수로 나누어야한다. out.println("round("+ val +")/100.0=" + round(val)/100.0); // 반올림 out.println(); out.println(abs(-10)); out.println(abs(-10.1)); out.println(max(9.5,9050001)); out.println(min(9.5,9050001)); out.printf("ceil(%3.1f)=%3.1f%n", 1.1, ceil(1.1)); // 올림 out.printf("floor(%3.1f)=%3.1f%n", 1.5, floor(1.5)); // 버림 out.printf("round(%3.1f)=%d%n", 1.1, round(1.1)); // 반올림 out.printf("round(%3.1f)=%d%n", 1.5, round(1.5)); // 반올림 //짝수 반올림 out.printf("rint(%3.1f)=%f%n", 1.5, rint(1.5)); // 반올림 out.printf("round(%3.1f)=%d%n", -1.5, round(-1.5)); // 반올림 out.printf("rint(%3.1f)=%f%n", -1.5, rint(-1.5)); // 반올림 out.printf("ceil(%3.1f)=%f%n", -1.5, ceil(-1.5)); // 올림 out.printf("floor(%3.1f)=%f%n", -1.5, floor(-1.5)); // 버림 } }
============실행결과=============
round(90.7552)=91
round(9075.52)=9076
round(9075.52)/100 =90
round(9075.52)/100.0=90.76
10
10.1
9050001.0
9.5
ceil(1.1)=2.0
floor(1.5)=1.0
round(1.1)=1
round(1.5)=2
rint(1.5)=2.000000
round(-1.5)=-1
rint(-1.5)=-2.000000
ceil(-1.5)=-1.000000
floor(-1.5)=-2.000000
Process finished with exit code 0
round()
double val = 90.7552; out.println("round("+ val +")="+round(val));// 반올림
val값을 전달받아 해당값을 반올림한다.
결과 : round(90.7552)=91
val *= 100; out.println("round("+ val +")="+round(val));// 반올림 out.println("round("+ val +")/100 =" + round(val)/100); // 반올림 //소수점 이하의 값을 얻고싶다면 실수로 나누어야한다. out.println("round("+ val +")/100.0=" + round(val)/100.0); // 반올림
곱하기 나누기를 한 뒤 적용하는 예제이다.
round(9075.52)=9076
round(9075.52)/100 =90
round(9075.52)/100.0=90.76참고로 나누기를 할때 소수점까지 노출시키기위해서는 실수로 나누어야한다.
abs()
out.printf("abs", abs(-10)); out.printf("abs", abs(-10.1));
abs는 전달받은 값의 절대값을 보여준다
결과는 10, 10.1을 반환한다.
max(), min()
out.println(max(9.5,9050001)); out.println(min(9.5,9050001));
최대값과, 최소값을 반환한다.
max : 9050001.0
min : 9.5ceil()
out.printf("ceil(%3.1f)=%3.1f%n", 1.1, ceil(1.1));
ceil의 기능은 전달받은 값을 반올림이 아닌 올림을 수행한다.
1.1을 입력받아 올림을 하여 2.0를 출력한다.
floor()
out.printf("floor(%3.1f)=%3.1f%n", 1.5, floor(1.5));
floor는 ceil과 반대로 값을 모두 버린다.
1.5를 입력받아 1.0을 출력한다.
round()
out.printf("round(%3.1f)=%d%n", 1.1, round(1.1)); out.printf("round(%3.1f)=%d%n", 1.5, round(1.5)); out.printf("round(%3.1f)=%d%n", -1.5, round(-1.5));
round는 반올림을 수행한다
1.1을 입력받아 1을 출력
1.5를 입력받아 2을 출력
-1.5를 입력받아 더 큰 음수인 -1을 출력
rint()
out.printf("rint(%3.1f)=%f%n", -1.5, rint(-1.5)); out.printf("rint(%3.1f)=%f%n", -1.5, rint(-2.5)); out.printf("rint(%3.1f)=%f%n", -1.5, rint(-3.5));
rint는 짝수를 기준으로 반올림을 수행한다.
rint(-1.5)=-2.000000
rint(-1.5)=-2.000000
rint(-1.5)=-4.000000반응형'Java > 자바의정석' 카테고리의 다른 글
Math메서드, Round(), Rint() 비교하기 (0) 2023.02.22 Wrapper클래스란? (0) 2023.02.22 여러가지 StringBuffer메서드 (0) 2023.02.22 자바의정석 - StringBuffer()란? (0) 2023.02.22 자바 equals()와 hashcode()는 왜 같이 재정의해야하는가? (0) 2023.02.22