일반적으로 데이터의 기본 데이터 유형(byte, int, short, long, double, float, boolean, char)을 사용합니다.
또한 해당 패키징 유형 8개(Byte, Integer, Short, Long, Double, Float, Character, Boolean)가 있습니다.
패키징 유형은 final로 선언되며 상속으로 재정의될 수 없습니다. 컴파일러는 자동으로 기본 데이터 유형을 객체 유형으로 묶거나 다음과 같이 객체 유형을 기본 데이터 유형으로 상자 해제합니다.
공개 정적 무효 메인(String[] args) { int num1 = 1; //기본 데이터 유형을 객체 패키징 유형으로 묶습니다. Integer num2 = num1; 정수 num3 = 3; //객체 데이터 클래스 unboxing int num4 = num3; }
Number 클래스는 java.lang 패키지의 추상 클래스입니다. 패키지 유형을 기본 유형으로 unboxing하는 방법을 제공합니다. 기본 유형(데이터 유형)의 모든 패키지 유형은 이 추상 클래스를 상속하며 최종 선언은 상속 및 변경할 수 없습니다. .
패키지 java.lang; 공개 추상 클래스 Number는 java.io.Serialized를 구현합니다. 공개 추상 int intValue(); 공개 추상 long longValue(); 공개 추상 부동 floatValue(); 공개 추상 더블 doubleValue(); 공개 바이트 byteValue() { (바이트)intValue()를 반환; } 공개 짧은 shortValue() { return (short)intValue(); } 개인 정적 최종 긴 serialVersionUID = -8742448824652078965L; }
포장 | 기본 데이터 유형 |
---|---|
부울 | 부울 |
바이트 | 바이트 |
짧은 | 짧은 |
정수 | 정수 |
긴 | 긴 |
성격 | 숯 |
뜨다 | 뜨다 |
더블 | 더블 |
컴파일러에서 특별히 지원하는 이러한 유형의 패키징을 박싱이라고 합니다. 따라서 내장 데이터 유형이 객체로 사용되면 컴파일러는 내장 유형을 래퍼 클래스로 박싱합니다. 마찬가지로, 컴파일러는 객체를 내장 유형으로 unboxing할 수 있습니다. Number 클래스는 java.lang 패키지에 속합니다.
다음은 박싱 및 언박싱의 예입니다.
공개클래스테스트{
publicstaticvoidmain(Stringargs[]){
Integerx=5;//boxesinttoanInteger객체
x=x+10;//정수를 unboxes합니다.
System.out.println(x);
}
}
위 예제의 컴파일 및 실행 결과는 다음과 같습니다.
15
x가 정수 값에 할당되면 x는 객체이기 때문에 컴파일러는 x를 상자화해야 합니다. 그런 다음 x를 추가하기 위해 x를 unboxing합니다.
Java의 Math에는 기본 지수, 로그, 제곱근 및 삼각 함수와 같은 기본적인 수학 연산을 수행하기 위한 속성과 메서드가 포함되어 있습니다.
수학 메서드는 모두 정적 형식으로 정의되며 Math 클래스를 통해 기본 함수에서 직접 호출할 수 있습니다.
예
공개 클래스 테스트 {
공개 정적 무효 메인(문자열 []args)
{
System.out.println("90도 사인: " + Math.sin(Math.PI/2));
System.out.println("0도의 코사인: " + Math.cos(0));
System.out.println("60도의 접선: " + Math.tan(Math.PI/3));
System.out.println("1의 아크탄젠트: " + Math.atan(1));
System.out.println("π/2의 각도 값: " + Math.toDegrees(Math.PI/2));
System.out.println(Math.PI);
}
}
위 예제의 컴파일 및 실행 결과는 다음과 같습니다.
90도 사인: 1.0
0도의 코사인: 1.0
60도의 탄젠트 값: 1.7320508075688767
1의 아크탄젠트: 0.7853981633974483
π/2의 각도 값: 90.0
3.141592653589793
Number&Math 클래스 메소드
다음 표에는 일반적으로 사용되는 Number 클래스 및 Math 클래스 메서드가 나열되어 있습니다.
일련번호 | 방법 및 설명 | |||||
---|---|---|---|---|---|---|
1 | xxxValue()는 숫자 객체를 xxx 데이터 유형의 값으로 변환하여 반환합니다. | |||||
2 | CompareTo()는 숫자 객체를 매개변수와 비교합니다. | |||||
3 | equals()는 숫자 객체가 매개변수와 같은지 여부를 확인합니다. | |||||
4 | valueOf()는 내장 데이터 유형을 지정하는 Integer 객체를 반환합니다. | |||||
5 | toString()은 문자열 형식으로 값을 반환합니다. | |||||
6 | parsInt()는 문자열을 int 유형으로 구문 분석합니다. | |||||
7 | abs()는 인수의 절대값을 반환합니다. | |||||
8 | ceil()은 주어진 매개변수보다 크거나 같은(>=) 가장 작은 정수를 반환합니다. 유형은 배정밀도 부동 소수점입니다. | |||||
9 | Floor()는 주어진 인수보다 작거나 같은(<=) 가장 큰 정수를 반환합니다. | |||||
10 | rint()는 인수에 가장 가까운 정수를 반환합니다. 반환 유형은 double입니다. | |||||
11 | round()는 가장 가까운 int 또는 long 값을 반환합니다. | |||||
12 | min()은 두 매개변수의 최소값을 반환합니다. | |||||
13 | max()는 두 매개변수의 최대값을 반환합니다. | |||||
14 | exp()는 자연수 밑 e의 매개변수 거듭제곱을 반환합니다. | |||||
15 | log()는 인수의 자연수 밑의 로그를 반환합니다. | |||||
16 | pow()는 첫 번째 매개변수의 두 번째 매개변수의 거듭제곱을 반환합니다. | |||||
17 | sqrt()는 인수의 산술 제곱근을 찾습니다. | |||||
18 | sin()은 지정된 double 유형 매개변수의 사인 값을 찾습니다. | |||||
19 | cos()는 지정된 double 유형 매개변수의 코사인 값을 찾습니다. | |||||
20 | tan()은 지정된 double 유형 매개변수의 탄젠트 값을 찾습니다. | |||||
스물하나 | asin()은 지정된 double 유형 매개변수의 아크사인 값을 찾습니다. | |||||
스물둘 | acos()는 지정된 double 유형 매개변수의 아크코사인 값을 찾습니다. | |||||
스물셋 | atan()은 지정된 double 유형 매개변수의 아크탄젠트 값을 찾습니다. | |||||
스물넷 | atan2()는 데카르트 좌표를 극좌표로 변환하고 극좌표의 각도 값을 반환합니다. | |||||
25 | toDegrees()는 매개변수를 각도로 변환합니다. | |||||
26 | toRadians()는 각도를 라디안으로 변환합니다. | |||||
27 | Random()은 난수를 반환합니다. |