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