자바 형변환
형변환이란?
형변환은 변수나 값의 자료형을 다른 자료형으로 변경하는 것을 의미한다.
자바에서 형변환은 크게 두 가지 유형으로 나눌 수 있다. 바로 묵시적 형변환과 명시적 형변환이다.
자바에서 지원하는 기본 자료형은 아래와 같다.
자료형 | 크기 (바이트) |
---|---|
byte | 1 |
short | 2 |
int | 4 |
long | 8 |
float | 4 |
double | 8 |
boolean | 1 |
char | 2 |
묵시적 형변환
- 작은 크기의 데이터 타입에서 큰 크기의 데이터 타입으로 변환될 때 발생
- 데이터 손실 없이 자동으로 형변환이 이루어짐
ex)
public class Main {
public static void main(String[] args) {
float a;
a = 12;
System.out.printf("%f", a);
}
}
dobule은 int를 포함할 수 있다!
명시적 형변환(강제 형변환)
- 데이터 타입의 크기를 신경쓰지 않고 변환한다.
- 데이터의 손실이 발생할 수 있다. 명시적 변환 연산자()를 사용한다.
ex)
public class Main {
public static void main(String[] args) {
double s1 = 3.14;
int num = (int)s1;
System.out.print(num);//3
}
}
3.14에서 소수점 이하가 버려졌다!
래퍼 객체 사용
래퍼 객체의 메서드를 사용하여 명시적 형변환을 진행 할 수도 있다.
public class Main {
public static void main(String[] args) {
String s1 ="12345";
int sNum = Integer.parseInt(s1);
System.out.println("Integer " + sNum);
int sNum2 = 4567;
String s2 = Integer.toString(sNum2);
System.out.println("String "+ sNum2);
}
}
출력값:
Integer 12345
String 4567
*Inter.toStirng같이 메소드를 new키워드를 사용해 객체를 생성하지 않고 사용할 수 있는 이유는 아래와 같다.
- 정적 팩토리 메소드이기 때문이다.
- 정적 팩토리 메소드를 이용하면 메소드 안에서 객체를 생성해 리턴할 수 있다.
parse 메소드 정리
자료형 | parse 메서드 |
---|---|
byte | Byte.parseByte(String) |
short | Short.parseShort(String) |
int | Integer.parseInt(String) |
long | Long.parseLong(String) |
float | Float.parseFloat(String) |
double | Double.parseDouble(String) |
boolean | Boolean.parseBoolean(String) |
char | 없음(charAt() 사용 가능 |
예를 들어 Integer.parseInt(”123”)은 123이라는 int형을 반환한다.
'컴퓨터 > JAVA' 카테고리의 다른 글
[JAVA] 간단한 클래스 예제 (0) | 2023.06.28 |
---|---|
[Java] 자바의 상속(extends/super/overriding) 정리 (0) | 2023.06.19 |
[Java] 자바의 클래스/생성자/접근제어자/객체 배열(this 키워드 (0) | 2023.06.19 |
[Java] 자바 랜덤 넘버 생성/Math.random() (0) | 2023.06.19 |
[JAVA] 자바의 문자열과 문자열 메서드 정리 (0) | 2023.06.13 |
댓글