자바 자료형 크기 & 형변환

heeezni·2025년 4월 30일
0

Java 문법

목록 보기
3/14
post-thumbnail

Java 자료형

  • 자료형 분류하는 이유는 메모리에 생성되는 용량의 크기를 결정짓기 위함
	public static void main(String[] args){
		
		short s=7;
		byte b=9;
		long k=10;
		
		int x=s+b;
		long y=k+s;
	}
  • Java는 전세계 주요국가의 문자를 수용할 수 있으므로,
    영미권 위주의 ASCII(영미권 중심, 1Byte)보다 확장된 Unicode(전 세계 문자 지원, 2Byte)

  • Java에서 int보다 작은 자료형(byte, short, char)의 연산은 자동으로 int로 형변환됨

  • long은 예외
    long은 int보다 크기 때문에 연산시 자동으로 int로 변환되지 않고, 결과도 long으로 유지

Java 컴파일러는 산술 연산의 기본을 32비트(int) 로 정해서 최적화했기 때문

  • char + char는 자동으로 int로 형변환되어 연산됨

short a=3;
short b=9;

short c=(short)(a+b); 강제 형변환하던지
int c=a+b; c를 int로 자동 형변환하던지

<참고>
byte 1 바이트 -2¹⁷ ~ 2¹⁷ - 1
short 2 바이트 -2¹⁵ ~ 2¹⁵ - 1
int 4 바이트 -2³¹ ~ 2³¹ - 1
long 8 바이트 -2⁶³ ~ 2⁶³ - 1
float 4 바이트 단정도 부동소수점
double 8 바이트 배정도 부동소수점
char 2 바이트 0 ~ 2¹⁶ - 1 (즉, 0 ~ 65,535) 유니코드 문자
boolean 1 바이트 true 또는 false 논리값


느낀 점

형변환은 무조건 컵에서 컵으로 옮기는 거라고 생각해보자
작은 컵에 큰 용량을 담으면 넘치고 (=데이터 손실)
큰 컵에 작은 컵에 담겨있던 용량을 담아도 괜찮은 것처럼

profile
아이들의 가능성을 믿었던 마음 그대로, 이제는 나의 가능성을 믿고 나아가는 중입니다.🌱

0개의 댓글