JAVA

[java.lang] Math 클래스

2023. 3. 9. 15:18
목차
  1. 올림
  2. 버림
  3. 반올림
  4. round()
  5. rint()
  6. 삼각함수와 지수, 로그
  7. Math클래스의 메서드

기본적인 수학계산에 유용한 메서드로 구성되어 있다.

 

Math클래스의 생성자는 private이기 때문에 다른 클래스에서 Math인스턴스를 생성할 수 없도록 되어 있다. 왜냐하면 클래스 내에 인스턴스 변수가 하나도 없어서 인스턴스를 생성할 필요가 없기 때문이다.

 

올림

Math.ceil();

 

버림

Math.floor();

 

 

반올림

round()

Math.round();

round()는 항상 소수점 첫째 자리에서 반올림을 해서 정수값(long)을 결과로 돌려준다.

 

원하는 자리 수에서 반올림된 값을 얻기 위해서는 10n으로 곱한 후, 다시 곱한 수로 나눠주면 된다.

1. 원래 값에 100을 곱한다.
	90.7552 * 100 → 9075.52

2. 위의 결과에 Math.round()를 사용한다.
	Math.round(9075.52) → 9076

3. 위의 결과를 다시 100.0으로 나눈다.
	9076 / 100.0 → 90.76
    // 9076 / 100 → 90

 

rint()

Math.rint();

rint()는 주어진 double값과 가장 가까운 정수값을 double형을 반환한다. 두 정수의 정가운데 있는 값은 가장 가까운 짝수 정수를 반환한다.

Math.rint(-1.5);	// -2.0

 

 

삼각함수와 지수, 로그

import static java.lang.Math.*;
import static java.lang.System.*;

class MathEx3 {
	public static void main(String args[]) {
		int x1=1, y1=1;  // (1, 1)
		int x2=2, y2=2;  // (2, 2)

		double c = sqrt(pow(x2-x1, 2) + pow(y2-y1, 2));		// (x1, y1)(x2, y2) 두 점간의 거리
		double a = c * sin(PI/4);  // PI/4 rad = 45 degree
		double b = c * cos(PI/4);
//		double b = c * cos(toRadians(45));

		out.printf("a=%f%n", a);   
		out.printf("b=%f%n", b);  
		out.printf("c=%f%n", c);  
		out.printf("angle=%f rad%n", atan2(a,b));	
		out.printf("angle=%f degree%n%n", atan2(a,b) * 180 / PI);	
//		out.printf("angle=%f degree%n%n", toDegrees(atan2(a,b)));	

		out.printf("24 * log10(2)=%f%n",   24 * log10(2));  // 7.224720
		out.printf("53 * log10(2)=%f%n%n", 53 * log10(2));  // 15.954590
	}
}

a, b는 끼인각이다.

삼각함수는 매개변수의 단위가 '라디안'이므로 45도를 라디안으로 변환해야 한다. 180도 = π rad이므로 45도 = π/4 rad이다.

toRadians()을 이용해 라디안으로 변환할 수도 있다.

 

atan2()는 직각 삼각형에서 두 변의 길이 a, b를 알면 끼인각을 구해준다. 결괏값은 라디안이므로 도(degree)로 변환하려면 180/PI를 곱하거나 toDegrees(double angrad)를 이용하면 된다.

 

 

Math클래스의 메서드

자주 쓰이는 메서드들이다.

'JAVA' 카테고리의 다른 글

[java.util] Objects, Random, 정규식  (0) 2023.03.09
[java.lang] Wrapper 클래스, Number클래스  (0) 2023.03.09
[java.lang] String 관련 클래스  (0) 2023.03.09
[java.lang] Object 클래스  (0) 2023.03.09
예외처리  (0) 2023.03.08
  1. 올림
  2. 버림
  3. 반올림
  4. round()
  5. rint()
  6. 삼각함수와 지수, 로그
  7. Math클래스의 메서드
'JAVA' 카테고리의 다른 글
  • [java.util] Objects, Random, 정규식
  • [java.lang] Wrapper 클래스, Number클래스
  • [java.lang] String 관련 클래스
  • [java.lang] Object 클래스
ewok
ewok
ewok
기록장
ewok
전체
오늘
어제
  • 분류 전체보기
    • 웹개발 교육
      • HTML
      • CSS
      • JavaScript
      • Database
      • Java
      • jQuery
      • Ajax
      • Bootstrap
      • jsp
      • Spring
      • MyBatis
      • 프로젝트
    • JAVA
    • SpringBoot
      • 기초
      • AWS
      • 개인프로젝트
    • Spring Security
    • JPA
    • 테스트코드
    • Error
    • CS
      • 컴퓨터 구조
      • 이산수학
    • 알고리즘
      • 정리
      • Java
    • SQL
    • 자격증
      • SQLD
      • 정보처리기사
    • Git

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 버전 관리
  • sqld 자격증
  • 생성자
  • branch
  • GIT
  • SQLD
  • base
  • git bash
  • merge commit
  • 브랜치
  • 노랭이
  • sqld 합격
  • this
  • org.hibernate.tool.schema.spi.CommandAcceptanceException
  • org.springframework.beans.factory.UnsatisfiedDependencyException

최근 댓글

최근 글

hELLO · Designed By 정상우.
ewok
[java.lang] Math 클래스
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.