데이터를 컴퓨터에 저장하기 위한 공간
장점:내게 필요한 데이터를 쉽게 가져다 쓸 수 있다

int a;
//[자료형] [변수이름][세미콜론]
//
세미콜론: 문장이 끝났다는 표시 / 습관을 들이자
카멜케이스 권장 / 명사형태
_,$) 사용가능 - 추천 하지 않음1. 변수를 선언한다
- 데이터 저장공간을 만든다
int a; int b;
2. 변수에 값 할당
- 변수에 값을 할당한다 (넣어준다)
a = 1;
assign: 값을 할당하다
literal: 값 (여기선 1)
3. 선언과 동시에 값 할당
- 선언과 동시에 값을 할당
int c = 3;
initialization: 처음으로 데이터에 초기값을 설정하는 것 = 초기화
4. 기존 변수에 데이터 재할당 (reassign)
- 변수는 재사용이 가능하다
- 값을 재할당하면 제일 마지막 값으로 덮어씌워진다
c = 4; c = 5; c = 6; // 출력 : 6
- 재할당시 유의할 점
int number = 10; int number = 20; // 오류❌! 같은 블록에서 같은 이름의 변수 선언 불가 int number = 10; number = 20; // 올바른 코드⭕️ (값만 변경)
5. 변수에 변수를 할당
- 미리선언된 변수를 할당할 수 있다
int d = 1; int e = d; d = 10; System.out.println("e = " + e); // 정답 1


자료형 종류 범위 바이트 비트 boolean논리형 true/false 1 8 char문자형 0 ~ 65535 유니코드 값 2 16 byte정수형 -128 ~ 127 1 8 short정수형 -32,768 ~ 32,767 2 16 int정수형 -2,147,483,648 ~ 2,147,483,647 4 32 long정수형 -9,233,372,036,854,775,808 ~ 9,233,372,036,854,775,807 8 64 float실수형 약 소수점 6~7자리까지 4 32 double실수형 약 소수점 15~17자리까지 8 64
중괄호안에
띄어쓰기+클래스이름+엔터하면 자바를 실행하는 기본 명령어 자동 실행
soutv= 값을 출력하는 명령어 (system.out ~~ )
// [자료형] [변수이름];
// 두번째 값은 "재할당"을 보여주기 위한 것임
// 정수형
int a;
a = 1;
a = 2;
System.out.println("a = " + a);
// 논리형
boolean booleanBox = true;
booleanBox = false;
System.out.println("booleanBox = " + booleanBox);
// 문자형
char charBox = 'a';
charBox = 'b';
System.out.println("charBox = " + charBox);
// 큰 정수형
long longBox = 1;
longBox = 2;
System.out.println("longBox = " + longBox);
// 실수형 (소숫점) - 소숫점 단위는 기본적으로 double로 인식하기 때문에 f로 float임을 표시
float floatBox = 0.12345678f;
floatBox = 0.1234567890f; // 8자리까지 나오게 반올림한다
System.out.println("floatBox = " + floatBox);
// 실수형
double doubleBox = 0.1234567890;
System.out.println("doubleBox = " + doubleBox);
double bigBox = 10.123;
int smallBox = (int) bigBox; // 데이터 손실이 일어난다
System.out.println("smallBox = " + smallBox);
큰 데이터를 -> 작은 상자
뒤에 어떤 형으로 변경할지 명시해야하기 때문에 명시적 변환이라고도 한다
// 업캐스팅 : 작은 데이터 -> 큰 상자
int smallBox2 = 10;
double bigBox2 = smallBox2;
System.out.println("bigBox2 = " + bigBox2);
| 형 변환 종류 | 형변환 방식 | 자동 형 변환 여부 | 설명 |
|---|---|---|---|
| 다운캐스팅(DownCasting) | 명시적(Explicit) | ❌ | 큰상자 → 작은상자 |
| 업캐스팅(UpCasting) | 묵시적(Implicit) | ✅ | 작은상자 → 큰상자 |
// 문자열 데이터
char a1 = 'a';
String str = "안녕하세요!"; // 문자열은 쌍따옴표임
// 정수형
int a2 = 1;
long a3 = 1;
// 논리형
boolean b2 = true;
: 컴퓨터가 결과값을 콘솔에 보여주는것
// 출력
// println 사용
System.out.println("Hello");
System.out.println("Java");
// print 사용
System.out.print("안녕");
System.out.print("자바");
// 개행문자 \n 사용
System.out.println("Hello\nWorld!");
| 출력 방법 | 설명 |
|---|---|
| System.out.print() | 줄 바꿈 없이 출력 |
| System.out.println() | 출력 후 줄 바꿈 |
| 문자열 큰따옴표 안에 \n | 개행문자 |
System.out.println("Hello Java!"); // ‼️ System 도 객체

// 입력 (Scanner)
// 스캐너 객체를 스캐너형 박스(scanner)
// ✅ Scanner 객체 생성 & 변수에 담기
Scanner scanner = new Scanner(System.in);
// 문자열 입력받기
System.out.print("좋아하는 문장을 입력하세요: ");
String sentence = scanner.nextLine();
System.out.println("sentence = " + sentence);
// 정수형(int, long) 입력받기
System.out.print("정수(int)를 입력하세요: ");
int intBox = scanner.nextInt();
System.out.println("intBox = " + intBox);
System.out.print("정수(long)를 입력하세요: ");
long longBox = scanner.nextLong();
System.out.println("longBox = " + longBox);
// 소수점
System.out.print("소수점(double)을 입력하세요 : ");
double doubleBox = scanner.nextDouble();
System.out.println("doubleBox = " + doubleBox);
| 문자 | 숫자 |
|---|---|
scanner.nextLine() | scanner.nextInt() |
scanner.nextLong() | |
scanner.nextDouble() |