Java & Spring/Java
생활코딩 - Java(데이터타입, 형변환)
DJ.Kang
2024. 3. 20. 22:08
1. 정수형
데이터 타입 | 메모리의 크기 | 표현 가능 범위 |
byte | 1 byte | -128 ~ 127 |
short | 2 byte | -32,768 ~ 32,767 |
int | 4 byte | -2,147,483,648~2,147,483,647 |
long | 8 byte | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
2. 실수형
float | 4byte | ±(1.40129846432481707e-45 ~ 3.40282346638528860e+38) |
double | 8byte | ±(4.94065645841246544e-324d ~ 1.79769313486231570e+308d) |
3. 문자
char | 2byte | 모든 유니코드 문자 |
4. 상수의 데이터 타입
- int(정수) != 2.2(실수) 이므로 type 오류 발생
- float(실수) = 2.2(double 실수) 이므로 type 오류 발생
- double(실수) = 2.2(실수) 이므로 정상
- float(실수) = 2.2F(실수) → F를 작성하여 명시적으로 type지정
5. 형변환
형 변환(Type Conversion)이란 데이터의 타입을 변경하는 것이다.
□ 암시적 형변환
자바는 이러한 형 변환을 자동으로 처리해주는데
이러한 전환작업을 자동(암시적) 형 변환(implicit Conversion)이라고 부른다.
자동 형 변환의 원칙은 표현범위가 좁은 데이터 타입에서 넓은 데이터 타입으로의 변환만 허용된다는 것이다.
□ 명시적 형변환
자동 형 변환이 적용되지 않는 경우에는 수동으로 형 변환을 해야 한다.
이를 명시적(Explicit Conversion)이라고 한다.
위 코드에서
100.0은 double type
100.0F는 float type인데
(float)100.0 을 작성하게되면 명시적 형변환을 통해 float로 변환시킨다.
아래 int의 경우에도 (int)100.0F를 작성하게되면 명시적으로 int로 변환되게되며, 소수점 아래자리는 버려진다.
위와같이 상수 앞에 (type)을 작성하여 명시적으로 형변환을 진행한다.
출처 : 생활코딩 유튜브 :
https://www.youtube.com/watch?v=YYjS4wKW_Ug&list=PLuHgQVnccGMCeAy-2-llhw3nWoQKUvQck&index=27