본문 바로가기

Java

Java 변수(Variable) - 변수의 데이터 타입(Data type)

1. 변수의 타입

1) 기본형(Primitive type):8개(boolean, char, byte, short, int, long, float, double) , 실제 값 저장

2) 참조형(Reference type): 기본형을 제외한 나머지(ex. String, System 등), 객체의 주소 저장

 

2.  기본형(Primitive type)

구분 종류 크기
(byte)
표현범위 설명
논리형 boolean 1 true or flase 조건식과 논리적 계산에 사용
정수형 byte 1 부호(S) 1bit + 7bit
-2⁷ ~ 2⁷-1(-128 ~ 127) 
이진 데이터를 다루는데 사용
short 2 부호(S) 1bit + 15bit
-2¹ ~ 2¹⁵-1(-32768 ~ 32727) 
c언어 호환을 위해 추가된 정수형
int 4 부호(S) 1bit + 31bit
-2³¹ ~ 2³¹(-2147483648 ~ 2147483647) 약21억
정수 값 저장
long 8 부호(Sign) 1bit + 63bit
-2⁶³ ~ 2⁶³(-9223372036854775808 ~ 9223372036854775807)
정수 값 저장
문자형 char 2 0 ~ 65535 문자 저장, 하나의 문자만 저장 가능
실수형 float 4 부호(S) 1bit + 지수(E) 8bit + 가수(M) 23bit
±3.4E38
실수 값 저장
double 8 부호(S) 1bit + 지수(E) 11bit + 가수(M) 52bit
±1.7E308
실수 값 저장 기본형

 

 

public class VariableSize {

    public static void main(String[] args) {

        System.out.println("---------------------------------------------------");
        System.out.println("정수형");
        System.out.println("byte: " + Byte.BYTES + "바이트(" + Byte.SIZE + "비트), " + "범위: " + Byte.MIN_VALUE + " ~ " + Byte.MAX_VALUE);
        System.out.println("short : " + Short.BYTES + "바이트(" + Short.SIZE + "비트), " + "범위: " + Short.MIN_VALUE + " ~ " + Short.MAX_VALUE);
        System.out.println("int: " + Integer.BYTES + "바이트(" + Integer.SIZE + "비트), " + "범위: " + Integer.MIN_VALUE + " ~ " + Integer.MAX_VALUE);
        System.out.println("long: " + Long.BYTES + "바이트(" + Long.SIZE + "비트), " + "범위: " + Long.MIN_VALUE + " ~ " + Long.MAX_VALUE);

        System.out.println("---------------------------------------------------");
        System.out.println("문자형");
        System.out.println("char: " + Character.BYTES + "바이트(" + Character.SIZE + "비트), " + "범위: " + (int)Character.MIN_VALUE + " ~ " + (int)Character.MAX_VALUE);

        System.out.println("---------------------------------------------------");
        System.out.println("실수형");
        System.out.println("float: " + Float.BYTES + "바이트(" + Float.SIZE + "비트), " + "범위: " + Float.MIN_VALUE + " ~ " + Float.MAX_VALUE);
        System.out.println("double: " + Double.BYTES + "바이트(" + Double.SIZE + "비트), " + "범위: " + Double.MIN_VALUE + " ~ " + Double.MAX_VALUE);
    }
}