[Java] 데이터 타입과 변환

J.A.Y·2023년 3월 13일
0

Java

목록 보기
5/8

데이터의 크기

  • 8 bit (비트) = 1 byte
  • 1024 byte (바이트) = 1 kilobyte
  • 1024 kilobyte (킬로바이트) = 1 megabyte
  • 1024 megabyte (메가바이트) = 1 gigabyte
  • 1024 gigabyte (기가바이트) = 1 terabyte
  • 1024 terabyte (테라바이트) = 1 petabyte
  • 1024 petabyte (페타바이트) = 1 exabyte
  • 1024 exabyte (엑사바이트) = 1 zettabyte

정수형

데이터 타입 메모리의 크기 표현 가능 범위:

  • 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

실수형

  • float| 4byte| ±(1.40129846432481707e-45 ~ 3.40282346638528860e+38)
  • double| 8byte|±(4.94065645841246544e-324d ~1.79769313486231570e+308d)

문자

  • char 2byte 모든 유니코드 문자
'A' = 2byte
'AB' = 4byte
  1. 데이터 타입에 따라 메모리 용량이 결정된다.
  2. 그렇기 때문에 중요한 것은 어떤 데이터 타입으로 변수를 선언하느냐이다.
  3. 꼭 필요한 경우 아니고선 정수는 int를, 실수는 double을 사용한다.
  4. 변수의 값을 지정할 때 정수는 int, 실수는 double 타입으로 디폴트되어 있다.
  5. 만약 int/double보다 더 큰 수를 넣어 데이터를 처리하고 싶다면 데이터 타입을 지정해줘야 한다.
int a = 2,147,483 // 에러 발생, 원인: 범위 초과
long a = 2,147,483 // 이렇게 해도 발생, 원인: 데이터 타입 오류
long a = 2,147,483L // 에러 해결, 방법: 상수 뒤에 데이터 타입 변환해주기 (flot는 F)

형변환 (Conversion)

  1. 묵시적(자동) 형변환
  • 묵시적 형변환은 좁은 범위의 데이터 타입에서 넓은 데이터 타입으로밖에 변환되지 않는다.
long a = 1L; // 정수는 기본 데이터 타입이 int기 때문에 long으로 형변환해주기
int b = 2;
float c = 3.0F;  // 실수는 기본 데이터 타입이 double이기 때문에 float로 형변환해주기
double d = a + b + c  // a=1.0f, b=2.0f, c=3.0f 
System.out.println(c); // 6.0

  1. 명시적 형변환
  • 묵시적 형변환이 일어나지 않을 경우엔 수동으로 형변환을 해줘야 한다.
float a = 100.0 // error   -->  float a = 100.0F 또는 (float)100.0
int b = 100.0F // error  -->  int b = (int)100.0F 
profile
Done is better than perfect🏃‍♀️

0개의 댓글