자바(JAVA)/미니 프로젝트 & 기초 공부

Java 기초 또 다시 공부하기 2일차 - 변수, 기본 타입

개발학생 2025. 5. 19. 18:23
반응형

1. 변수

1) 변수의 정의

  • 값을 저장할 수 잇는 메모리의 특정 번지에 붙이는 이름
    -> 변수를 선언하고 값을 지정하여, 프로그램이 메모리에 값을 저장하고 읽을 수 있음
  • 메모리의 어디에 어떤 방식으로 변수를 저장할지는, 자바에서는 JVM이 정함
  • 자바의 변수는 다양한 타입의 값을 저장할 수 없으며, 한 변수 당 하나의 값만 저장 가능 

2) 변수 선언

  • 변수에 어떤 타입(형, 자료형)의 데이터를 저장할 것인지, 이름을 무엇으로 할 것인지 선언
// 타입 변수 이름;의 형태로 선언
int age;  // 정수(int)를 저장할 수 있는 age 변수 선언
double value;  // 실수(double)를 저장할 수 있는 value 변수 선언
int x, y, z;  // 같은 타입의 변수는 한꺼번에 선언할 수도 있음(예시: int 타입)
  • 변수 이름 명명 규칙(길이의 제한은 없으며, 자바 예약어는 사용 불가) 
작성 규칙 예시
첫 글자는 문자, 혹은 특수문자 중 $, _로 시작 (숫자로 시작 불가) name, $name, _name
영어 대소문자를 구분 firstTime과 firsttime은 다른 변수
첫 소문자는 영어 소문자로 시작하되, 다른 단어가 붙을 경우 첫 문자를 대문자로 함(카멜 케이스 관례) firstTime, lastName, userBookmarkList

3) 변수에 값 저장하기(대입 연산자 사용)

변수 저장 과정

  • 보통 변수를 선언하고 값을 저장하며, 변수를 선언함과 동시에 초기값을 저장할 수도 있음 
    -> 초기값이 없으면 변수가 초기화되지 않으며, 변수가 생성되지 않음
int time;
time = 60;
int score = 100;

4) 변수 사용 범위
(자바 컴파일러 사이트에서 작성 및 실행: https://www.mycompiler.io/ko/new/java)

  • 블록 내 어디서든 선언할 수 있지만, 선언된 위치로부터 자신이 속한 블록 내부에서만 사용 가능 

메서드 블록의 변수가 정상적으로 출력됨
value가 정상 출력됨
value2/value3이 정상 출력되지 않음

 

2. 기본 타입

1) 정수 타입

  • 정수 리터럴 저장 
타입 메모리 사용 크기 저장되는 값의 범위
byte 1byte 8bit -128 ~ -127
short 2byte 16bit -32,768 ~ 32,767
char 2byte 16bit 0 ~ 65535(유니코드)
int 4byte 32bit -2,747,483,648 ~ 2,747,483,647
long(숫자 뒤에 L을 붙여 값 설정) 8byte 64bit -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

2) char 타입

  • 한 문자를 '로 감싼 것을 문자 리터럴이라고 하며, 이는 유니코드로 변환되어 저장됨
char value1 = 'A'  // 유니코드 65
char value2 = 'C'  // 유니코드 66
char value3 = '가'  // 유니코드 44032
char value4 = '각'  // 유니코드 44033

3) String 타입(사실 클래스 타입에 속함)

  • "로 감싼 문자 또는 여러 개 문자들은 유니코드로 변환되지 않으며, 문자열이라고 함
String value1 = "A";
String value2 = "이름";

*문자열 내부에 이스케이프 문자 사용 가능

이스케이프 문자 출력 용도
\t 탭만큼 띄움
\n 줄 바꿈(라인 피드)
\r 캐리지 리턴
\" " 출력
\' ' 출력
\\ \ 출력
\u16진수 16진수 유니코드에 해당하는 문자 출력

4) 실수 타입

  • 소수점이 있는 실수 리터럴 저장 
타입 메모리 사용 크기 저장되는 값의 허용 범위 정밀도(소수점 이하 자리)
float 4byte 32bit -340,282,350,000,000,000,000,000,000,000,000,000,000

340,282,350,000,000,000,000,000,000,000,000,000,000
7자리
double 8byte 64bit -179,769,313,486,231,570,814,527,423,996,582,720,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000

179,769,313,486,231,570,814,527,423,996,582,720,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
15자리

5) 논리 타입

  • 참과 거짓을 의미하는 논리 리터럴 저장
boolean stop = true;
boolean start = false;

 

반응형