논리형 - boolean
문자형 - char / string
정수형 - int / long / byte(이진데이터) / short(c언어와의 호환을 위해 추가되었으나 잘 쓰이지 않음)
실수형 - float / double

출처- https://www.youtube.com/watch?v=yVxsi_CBLR0&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=18
1bit - 2진수 한 자리
1byte - 8bit
byte b = 3; (00000011; //이렇게 2진수로 저장)
n비트로 표현할 수 있는 값의 갯수? 2n개
n비트로 표현할 수 있는 부호 없는 값의 갯수? 0 ~ 255
n비트로 표현할 수 있는 부호 있는 값의 갯수? -128 ~ 127
부호있는 정수의 범위
short 2 byte = 16bit -2의15 ~2의 15 - 1
char 0 ~ 2의16 - 1
등등....
만약 지시자를 선택해서 출력하고 싶으면 printf()를 사용하면 된다
%b : boolean
%d : 10진수
%o : 8진수 (%#o으로 써주면 접두사가 붙음. 01...)
%x : 16진수 (%#x으로 써주면 접두사가 붙음. 0x...)
%f : float
%e, %E : 지수 exponent
%c : character
%s : string
%g : 간략한 형식 (f 또는 e)
system.out.printf("age: %d year: %d\n", 14, 2017);
float f = 123.4567890f;
system.out.printf("%f", f);
// 123.456787 정밀도는 7자리. 그 외의 자리, 여기선 87은 의미 없음.
// 정확한 값을 출력하고 싶으면 double사용하면 됨. 정밀도가 15자리임
system.out.printf("%e", f);
// 1.234568e+02 지수 형식으로 출력, 마지막자리 반올림되어서 8로 나옴
System.out.printf("[%5d]%n", 10); // [ 10] 앞의 세 자리는 빈 공간으로 체워짐
System.out.printf("[%-5d]%n", 10); // [10 ] 왼쪽 정렬
System.out.printf("[%05d]%n", 10); // [00010] 공백대신 0로 출력되도록
System.out.printf("[%5d]%n", 1234567); // [1234567] // 지정 자리수보다 큰 값이면, 값이 잘리는게 아니라 전부 나옴
double d = 1.23456789;
System.out.printf("[%14.10f]", d); //전제 14자리에, 소수점 10자리 => [ 1.2345678900]
System.out.printf("[%.6f]", d); // [1.234568] 소수점 6자리