종류 | 자료형 | 크기 | ||
---|---|---|---|---|
논리값 | boolean | 1byte | true/ false | 1bit지만 가장 작은 메모리 크기인 1byte사이즈 |
정수형 | byte | 1byte(8bit) | -128 ~ 127 | 바이트는 이미지나 동영상을 담기 위해 만듦 |
char | 2byte | 한문자 | ||
short | 2byte | -32768 ~ 32767 | ||
int | 4byte | 약 21억 | ||
long | 8byte | 약 900경 | ||
실수형 | float | 4byte | ||
double | 8byte |
-> 기본형 빼고 다 참조형, 클래스 문법으로 만든 자료형, 첫글자가 대문자 , 주소를 저장하고 있기 때문에 8byte
String s;
s = new String("Hello");
System.out.println(s.toString()); //=>결과 Hello
s = new String("Nice");
System.out.println(s); //자동 toString() 해줌
s = "android"; //자동 new String("android");
System.out.println(s);
자료형 + 변수명
double k = 10;
System.out.println(k); //결과 : 10.0
주의
무조건 실수가 정수보다 큰 자료형이다
-> 물리적인 메모리 크기가 아닌 담을 수 있는 수의 범위값으로 크기가 정해지기 때문이다
long m = 3.14f ;//error
long + float //연산하면 long을 float으로 변환하여 연산함
📢 참고사항
long l;
l = 2500000000; //error - 오른쪽 값은 메모리 어딘가에 있는 상수(int)이기 때문
l = 2500000000L; //L을 불여 long임을 명시한다
float g;
g = 3.14; //error - 실수형 상수의 기본형은 double
g = 3.14f; // 접미사 f를 붙여 flaot형임을 명시한다
// byte나 short 변수끼리의 연산은 자동 int로 변환되어 계산된다
short t = 10;
short y = 50;
short x;
x = t + y; //error - **연산을 하는 cpu로 넘어올때 4바이트로 넘어오기 때문**에 t와 y는 int가 된다
x = (short)(t +y );
System.out.println(t);
final int USER_MAX = 10; //final 상수
USER_MAX = 20; //error - 상수는 값 변경 불가