메모리(RAM)에 값을 기록하기 위한 공간
공간에 기록되는 값(Data)이 변할 수 있어서 변수라고 한다
변수에 기록된 값은 지속적으로 사용 가능하고
여러 종류가 존재한다 !! (저장되는 값 형태, 크기 다름)
변수 사용의 장점
System.out.println(2 * 3.141592653589793 * 5);
System.out.println(3.141592653589793 * 5 * 5);
System.out.println(3.141592653589793 * 5 * 5 * 20);
System.out.println(4 * 3.141592653589793 * 5 * 5);
// 변수 사용
double pi = 3.141592653589793; // 원주율
int r = 5; // 반지름
int h = 20; // 높이
System.out.println(2 * pi * r); // 원의 둘레
System.out.println(pi * r * r); // 원의 넓이
System.out.println(pi * r * r * h); // 원기둥의 부피
System.out.println(4 * pi * r * r); // 구의 겉넓이
int abcdefg123456789;
int abcdefG123456789; // G 다름
true, final, String 등 double final;
char 1abc; // X
char a1bc; // O
_와 $만을 허용한다. - $는 내부 클래스에서 사용
- _ 사용 시 컴파일 에러는 없지만 관례상 사용하지 않는 것이 좋음
int &intNumber; // 문제는 없지만 이렇게 작성 안 함
int int_Number; // 자바는 카멜표기법 사용
// _ 작성 표기법은 DB에서 사용
char userName;
int 정수1번;
double 실수2번 = 3.14;
System.out.println(실수2번); // 3.14
프로그램 실행 시 사용할 값(Data)이 있다면, 그 값은 먼저 메모리에 기록되어야 함

저장 공간이 제한적이기 때문에 저장 크기에 대한 기준과
CPU가 데이터를 처리할 때 일정한 기준 필요
비트 (bit)
바이트(byte)
메모리 공간에 데이터를 저장할 수 있는 공간을 할당하는 것
![]() | ![]() |
|---|

boolean(1byte)byte(1byte), short(2byte), int(4byte), long(8byte)short, byte는 옛날 코드 잔재)float(4byte), double(8byte)char(2byte, 유니코드)String값 대입
생성한 변수(저장 공간)에 값을 대입하는 것
‣ 변수는 한 개의 데이터만 보관, 마지막에 대입한 값만 보관
boolean booleanData;
// 메모리에 논리값(t/f)을 저장할 공간을 1byte 할당하고
// 할당된 공간을 booleanData 라고 부르겠다.
booleanData = true;
// booleanData 변수에 true 논리값 집어넣기 (대입)
System.out.println("booleanData :" + booleanData);
// booleanData : true
byte byteNumber = 127; // 128 넣는 순간 에러
// 메모리에 정수값을 저장할 공간을 1byte 할당하고
// 할당된 공간을 byteNumber 라고 부르겠다
// 선언된 byteNumber 변수에 처음으로 127을 넣음
// --> 초기화: 처음 변수에 값을 대입
리터럴
변수에 대입되거나 작성되어지는 값 자체
‣ 자료형에 따라 리터럴 표기법이 다름
long longNumber = 10000000000;
// The literal 10000000000 of type int is out of range
// 100억이라는 값은 int의 범위를 벗어났다
long longNumber = 10000000000L;
// 뒤에 L을 붙여줌으로써 long 자료형인 것을 나타냄
float floatNumber = 1.2345f; f 또는 F
// 1.2345 까지만 쓰면 double 자료형으로 인식함
double doubleNumber = 3.141592;
// double이 실수형 중에서 기본형
// 리터럴 표기법 없는 실수는 double로 인식
char ch = 'A';
char ch2 = 66;
System.out.println("ch :" + ch); // ch : A
System.out.println("ch2 :" + ch2); // ch2 : B
char 자료형에 숫자가 대입될 수 있는 이유!