반응형
java.lang 패키지
- java.lang 패키지는 자바에서 가장 기본적인 동작을 수행하는 클래스들의 집합이다. 따라서 자바에서는 java.lang 패키지의 클래스들은 import 문을 사용하지 않아도 클래스 이름만으로 바로 사용할 수 있다.
java.lang.Math 클래스
- Math 클래스는 수학에서 자주 사용하는 상수들과 함수들을 미리 구현해 놓은 클래스다.
- Math 클래스의 모든 메소드는 클래스 메소드(static method)이므로, 객체를 생성하지 않고도 바로 사용할 수 있다.
- Math 클래스는 java.lang 패키지에 포함되어 제공됩니다.
Math 클래스 필드
- Math.E : 오일러의 수라 불리며, 자연로그(natural logarithms)의 밑(base) 값으로 약 2.718을 의미한다.
- Math.PI : 원의 원주를 지름으로 나눈 비율(원주율) 값으로 약 3.14159를 의미한다.
random() 메소드
- random() 메소드는 0.0 이상 1.0 미만의 범위에서 임의의 double형 값을 하나 생성하여 반환한다.
- random() 메소드는 내부적으로 java.util 패키지의 Random 클래스를 사용한 의사 난수 발생기(pseudorandom-number generator)를 사용하여 임의의 수를 생성한다.
- Math 클래스의 random() 메소드뿐만 아니라 java.util 패키지에 포함된 Random 클래스의 nextInt() 메소드를 사용해도 난수를 생성할 수 있다.
System.out.println((int)(Math.random() * 100)); // 0 ~ 99
System.out.println((int)(Math.random() * 6)); // 0 ~ 5
System.out.println(((int)(Math.random() * 6) + 1)); // 1 ~ 6
System.out.println(((int)(Math.random() * 6) + 3)); // 3 ~ 8
Random ran = new Random();
System.out.println(ran.nextInt(100)); // 0 ~ 99
abs() 메소드
- abs() 메소드는 전달된 값이 음수이면 그 값의 절댓값을 반환하며, 전달된 값이 양수이면 전달된 값을 그대로 반환한다.
System.out.println(Math.abs(10)); // 10
System.out.println(Math.abs(-10)); // 10
System.out.println(Math.abs(-3.14)); // 3.14
floor() 메소드, ceil() 메소드와 round() 메소드
- floor() 메소드는 인수로 전달받은 값과 같거나 작은 수 중에서 가장 큰 정수를 반환한다.
- ceil() 메소드는 반대로 인수로 전달받은 값과 같거나 큰 수 중에서 가장 작은 정수를 반환한다.
- round() 메소드는 전달받은 실수를 소수점 첫째 자리에서 반올림한 정수를 반환한다.
System.out.println(Math.ceil(10.0)); // 10.0
System.out.println(Math.ceil(10.1)); // 11.0
System.out.println(Math.ceil(10.000001)); // 11.0
System.out.println(Math.floor(10.0)); // 10.0
System.out.println(Math.floor(10.9)); // 10.0
System.out.println(Math.round(10.0)); // 10
System.out.println(Math.round(10.4)); // 10
System.out.println(Math.round(10.5)); // 11
max() 메소드와 min() 메소드
- max() 메소드는 전달된 두 값을 비교하여 그중에서 큰 값을 반환하며, min() 메소드는 그중에서 작은 값을 반환한다.
System.out.println(Math.max(3.14, 3.14159)); // 3.14159
System.out.println(Math.min(3.14, 3.14159)); // 3.14
System.out.println(Math.max(-10, -11)); // -10
System.out.println(Math.min(-10, -11)); // -11
pow() 메소드와 sqrt() 메소드
- pow() 메소드는 전달된 두 개의 double형 값을 가지고 제곱 연산을 수행한다.
- sqrt() 메소드는 전달된 double형 값의 제곱근 값을 반환한다.
System.out.println((int)Math.pow(5, 2)); // 25
System.out.println((int)Math.sqrt(25)); // 5
sin() 메소드, cos() 메소드와 tan() 메소드
- 자바에서는 많은 삼각 함수를 제공하는데, sin() 메소드는 전달된 double형 값의 사인값을, cos() 메소드는 코사인값을, tan() 메소드는 탄제트값을 반환한다.
- 자바의 삼각 함수에 관한 메소드는 정확한 값을 나타내지 못한다. 이것은 컴퓨터가 실수를 나타내는 데 사용하는 부동 소수점 방식의 한계로 모든 언어에서 공통으로 발생하는 문제다.
System.out.println(Math.sin(Math.toRadians(30))); // 0.49999999999999994
System.out.println(Math.sin(Math.PI / 6)); // 0.49999999999999994
System.out.println(Math.tan(Math.toRadians(45))); // 0.9999999999999999
System.out.println(Math.tan(Math.PI / 4)); // 0.9999999999999999
System.out.println(Math.cos(Math.toRadians(60))); // 0.5000000000000001
System.out.println(Math.cos(Math.PI / 3)); // 0.5000000000000001
Math 메소드들

Reference
반응형
'Language > Java' 카테고리의 다른 글
[Java] 자바 API 클래스 - Enum 클래스 (0) | 2024.04.13 |
---|---|
[Java] 자바 API 클래스 - Wrapper 클래스 (0) | 2024.04.13 |
[Java] 자바 API 클래스 - StringBuffer 클래스 (0) | 2024.04.11 |
[Java] 자바 API 클래스 - String 클래스 (0) | 2024.04.11 |
[Java] 자바 API 클래스 - Object 클래스 (0) | 2024.04.11 |