int a, b;금지is, has, can, should 등등을 앞에 붙히면된다.bool isProcess = false;exists는 메서드에 붙힌다.기본형 8개
나머지는 참조형
null과 주소값(거의 무한)4바이트1byte
true, false만 있다.
byte라 1bit가 아니다.2byte
영어와 특수문자는 1byte로 표현가능한데
한글, 한자, 일본어 때문에 2byte를 사용
char의 모든 데이터는 숫자로 저장된다.
1개의 문자만 저장가능
char ch = 'A';
byte : 1byte
short : 2byte
byte a = 127;
byte b = 127;
System.out.println(a+b); // 4byte로 변환되서 254 출력
JVM의 피 연산자 스택이 4byte로 저장한다.
byte, short는 자동으로 4byte로 변환됨
피연산자 :
+,-뒤에 있는 숫자 (위 예시에선b가 피연산자)
4byte
int a = 010; // 8진수
int b = 0x10; // 16진수
8byte
long a = 1000000000L; // 안붙히면 d가 들어감
long형은 뒤에 L or l 을 붙혀서 저장함
l은 숫자 1과 비슷해서 대문자를 써야한다숫자형데이터는 자기 byte수를 넘어가면 overflow가 된다.
실행은 정상적으로됨
float : 4byte
double : 8byte
float f = 1.12f; // float는 뒤에 f를 붙힌다.
double d = 1.12d; // d를 생략해도된다. 생략하면 자동d 붙혀짐
float, dobule의 내부 원리다.

이미지 참고 : https://steemit.com/kr/@modolee/floating-point
위는 float일때
부호비트 : +, -를 구분한다 0이면 +
지수 비트 : 127+8
가수 비트 : 23
뒤에 소수점이 많으면 잘린다.
기본형<->기본형
기본형->참조형 (오토박싱)
참조형<->참조형 끼리만 가능
boolean형 제외
int a = 10;
double d = 11.0;
System.out.println(a + (int) d); // 10 + 11 = 21
int n = 210000000;
long l = n; // (int) 생략가능
System.out.println(l);
높은byte -> 낮은byte로 변환하면 byte손실이 일어난다.
낮은byte -> 높은byte로 변환하면 () 생략가능
중요 :
4byte이하변수가 연산되면JVM에 의해서4byte로 자동 형변환이 됨
short,byte보단int로 쓰자.