가자미의 개발이야기
자바 래퍼클래스, Math 클래스, Number 클래스 본문
a. 래퍼 클래스
-기본 자료형 값을 갖고 있는 인스턴스를 생성하는 클래스
-인스턴스를 인자로 요구할 때 기본 자료형 값을 전달해야 되는 경우
-Boolean, Character 등...
임의적인 박싱언박싱
-박싱: 기본 자료형 값을 래퍼클래스로 인스턴스화 한 행위
-언박싱: 래퍼클래스의 인스턴스로부터 값을 꺼내온 행위(인스턴스명.자료형명Value();)
-래퍼클래스는 immutable인스턴스를 갖기 때문에 연산을 위해서는 새로운 인스턴스를 만들어야함.
-빈번한 연산을 해야하는 경우 비효율적.
int i = 1;
Integer i2 = new Integer(i); //boxing
int i3 = i2.intValue(); //unboxing
오토 박싱과 오토 언박싱
-인스턴스 생성이나 메소드를 활용하지 않고 박싱과 언박싱을 하는 행위
-인스턴스가 와야할 자리에 값이 올 경우 자연스럽게 오토 박싱 진행.(Integer num= 1;)
-값이 와야할 자리에 인스턴스가 오면 오토 언박싱 진행(int num2=num;)
-오토박싱과 오토언박싱으로 인해 래퍼클래스와 기본자료형의 연산이 가능해짐.
int i = 1;
Integer i2 = i; //오토박싱
int i3 = i2+i; //오토언박싱
b.Math 클래스
-수학관련 연산을 할 때 필요한 클래스
메서드 명 (모든 메소드가 static임) | 설명 |
double abs(double a) float abs(float f) int abs(int f) long abs(long f) |
주어진 값의 절대값 반환 Math.abs(-1); |
double ceil(double a) | 주어진 값의 소수점을 올림 Math.ceil(10.1) == 11.0 |
double floor(double a) | 주어진 값의 소수점을 버림 Math.floor(10.1) == 10.0 |
long round(double a) long round(float a) |
소수점 첫째자리에서 반올림한 정수값을 반환 소수점 두자리까지 값을 얻고 싶으면 100을 곱하고 round후 다시 100.0을 나눈다. |
double max(double a, dobule b) float max(float a, float b) int max(int a, int b) long max(long a, long b) |
둘 중 큰 값 반환 Math.max(1, 2) |
dobule min(double a, double b) float min(float a, float b) int min(int a, int b) long min(long a, long b) |
둘 중 작은 값 반환 Math.min(1,2) |
double random() | 0.0~1.0 사이의 랜덤한 값을 반환 int i = (int)(Math.random()*10)+1 |
double rint(double a) | a와 가장 가까운 정수 반환(0.5로 끝나면 짝수 반환) Math.rint(1.2)==1, Math.rint(2.5)==2 |
난수 생성
-Random rand = new Random();
--public boolean nextBoolean();
--public int nextInt(); long으로 바꾸면 long도 가능
--public int nextInt(int bound); 0이상 bound 미만 int 난수생성
--public float nextFloat(); 0.0이상 1.0미만 float난수(double로 바꿔도 가능)
c. Number 클래스
-모든 래퍼 클래스가 상속하는 클래스(java.lang.Number)
-Number 클래스에 정의된 추상 메소드
public abstract int intValue()
public abstract long longValue()
public abstract float floatValue()
public abstract double doubleValue()
Integer의 인스턴스를 double이나 long으로 변환하거나 Double의 인스턴스를 int로 변환가능함을 암시
BigInteger클래스/BigDecimal
-long보다 큰 정수를 표현하고 싶을 때/실수를 표현할 때 오차를 막고 싶을 때
-java.math.BigInteger는 immutable
-전달할 때 큰 따옴표로 감싸 문자열로 전달.
문자열 토큰
-문자열에서 특정 구분자를 기준으로 구분해놓은 단위를 토큰이라함 (12:34:56 이면 12, 34, 56이 토큰)
'Java > 자바 기본 문법' 카테고리의 다른 글
[Java] 제네릭 (0) | 2021.01.21 |
---|---|
자바 Arrays 클래스 (0) | 2021.01.20 |
자바 Object 클래스 java.lang.Object (0) | 2021.01.11 |
자바 가상머신 (0) | 2021.01.11 |
자바의 예외처리 try catch, throw (0) | 2021.01.11 |