자바의 Primitive Data Type의 바이트 크기와 비트 크기를 출력하는 코드 구현
정수형 타입과 문자형 타입에 대해서만, 각 타입의 최댓값과 최소값도 함께 출력
크기 | byte | short | int | long | char |
byte | 1 | 2 | 4 | 8 | 2 |
bit | 8 | 16 | 32 | 48 | 16 |
public class Java100_variable_003{
public static void main(String[] args){
//byte, short, int, long, char
System.out.println(Byte.BYTES); //---바이트 계산--;;
System.out.println(Byte.SIZE); //---비트 계산--;;
}
}
1
8
public class Java100_variable_003{
public static void main(String[] args){
//byte, short, int, long, char
System.out.println(Short.BYTES); //---바이트 계산--;;
System.out.println(Short.SIZE); //---비트 계산--;;
}
}
2
16
public class Java100_variable_003{
public static void main(String[] args){
//byte, short, int, long, char
System.out.println("byte\t:"+Byte.BYTES+"(바이트)"+"-->"+Byte.SIZE+"(비트)\t"+Byte.MIN_VALUE+"~"+Byte.MAX_VALUE);
System.out.println("short\t:"+Short.BYTES+"(바이트)"+"-->"+Short.SIZE+"(비트)\t"+Short.MIN_VALUE+"~"+Short.MAX_VALUE);
System.out.println("int\t:"+Integer.BYTES+"(바이트)"+"-->"+Integer.SIZE+"(비트)\t"+Integer.MIN_VALUE+"~"+Integer.MAX_VALUE);
System.out.println("long\t:"+Long.BYTES+"(바이트)"+"-->"+Long.SIZE+"(비트)\t"+Long.MIN_VALUE+"~"+Long.MAX_VALUE);
System.out.println("char\t:"+Character.BYTES+"(바이트)"+"-->"+Character.SIZE+"(비트)\t"+Character.MIN_VALUE+"~"+Character.MAX_VALUE);
}
}
byte : 1(바이트) --> 8(비트) -128 ~127
short : 2(바이트) --> 16(비트) -32768 ~32767
int : 4(바이트) --> 32(비트) -2147483648 ~2147483647
long : 8(바이트) --> 64(비트) -9223372036854775808 ~9223372036854775807
char : 2(바이트) --> 16(비트) ◦ ~? MIN_VALUE, MAX_VALUE 제대로 출력 안됨
결과에서 문자형의 최댓값, 최소값이 제대로 출력이 되지 않았는데 그 이유를 설명하고 수정
이유: 범위는 숫자로 표기해야 하는데 char는 정수형 타입 아닌, 문자형이기 때문에 int로 바꿔줘야 한다.
public class Java100_variable_003{
public static void main(String[] args){
//byte, short, int, long, char
System.out.println("byte\t:"+Byte.BYTES+"(바이트)"+"-->"+Byte.SIZE+"(비트)\t"+Byte.MIN_VALUE+"~"+Byte.MAX_VALUE);
System.out.println("short\t:"+Short.BYTES+"(바이트)"+"-->"+Short.SIZE+"(비트)\t"+Short.MIN_VALUE+"~"+Short.MAX_VALUE);
System.out.println("int\t:"+Integer.BYTES+"(바이트)"+"-->"+Integer.SIZE+"(비트)\t"+Integer.MIN_VALUE+"~"+Integer.MAX_VALUE);
System.out.println("long\t:"+Long.BYTES+"(바이트)"+"-->"+Long.SIZE+"(비트)\t"+Long.MIN_VALUE+"~"+Long.MAX_VALUE);
System.out.println("char\t:"+Character.BYTES+"(바이트)"+"-->"+Character.SIZE+"(비트)\t"+(int)Character.MIN_VALUE+"~"+(int)Character.MAX_VALUE);
}
}
byte : 1(바이트) --> 8(비트) -128 ~127
short : 2(바이트) --> 16(비트) -32768 ~32767
int : 4(바이트) --> 32(비트) -2147483648 ~2147483647
long : 8(바이트) --> 64(비트) -9223372036854775808 ~9223372036854775807
char : 2(바이트) --> 16(비트) 0 ~65535 제대로 출력
같은 크기를 가진 short와 char의 범위가 다르다. short는 정수형이기 때문에 음수형 범위를 가질 수 있는 반면, char는 양수 범위만을 가질 수 있다. 따라서 음수에 해당하는 범위만큼이 양수에 해당한다.
'인프런 스터디 > 예제로 공부하는 Java 100 문제풀이 Part.1' 카테고리의 다른 글
자료형, 연산자 - 14: 기본형, 타입, 초기화 (1) (0) | 2021.07.13 |
---|---|
자료형, 연산자 - 13: 정수, 실수, 문자형, 변수 (0) | 2021.07.12 |
자료형, 연산자 - 11: 데이터 타입, 자료형, type (0) | 2021.07.09 |
환경설정, 변수 - 10: 변수, 선언, 개념 (0) | 2021.07.08 |
환경설정, 변수 - 9: 메인, 메인 메서드, static, 키워드 (0) | 2021.07.07 |