컴퓨터 & 코딩/Java

[혼공학습단 10기][혼공자] 변수와 기본 타입

구로그 2023. 6. 28. 21:43
728x90

변수 선언 하기

int age;       // 정수
double value;  // 실수

int x, y, z    // 한꺼번에 선언 가능

카멜 표기법이 관례이며 첫 번째 글자는 문자 혹은 '$' 혹은 '_'이어야 한다. 

 

 

변수 초기화 & 초기값

int score;  //변수 선언
score = 90; //값 저장 (변수 초기화, 초기값) 


int score = 90; // 동시에도 가능

 

변수 사용

int hour = 3;
int minute = 5;

// 피연산자 중 하나가 문자열일 경우 나머지 피연산자들도 문자열로 자동 변환됨 
System.out.println(hour + "시간" + minute + "분");

❗️ 변수는 자신이 속한 블록 내부에서만 사용 가능하다. 

int v1 = 0;
if (true) {
    int v2 = 0;
    if (true) {
        int v3 = 0;
    }
    v1 = v2 + v3; // 컴파일 에러; v3이 선언 블록을 벗어남 
}

 


 

기본 타입 Primitive Data Types 

📁 기본 타입의 종류: byte, short, int, long, float, double, boolean, char 

 

✓ 정수 타입

타입 메모리 사용 크기 저장되는 값의 허용 범위
byte 1 Byte (8 bit) -128 ~ 127
short 2 Byte (16 bit) -2^15 ~ (2^15 - 1)
char (유니코드) 2 Byte (16 bit) 0 ~ (2^16 - 1)
int 4 Byte (32 bit) -2^31 ~ (2^31 - 1)
long 8 Byte (64 bit) -2^63 ~ (2^63 -1)

- 리터럴: 소스 코드에서 프로그래머에 의해 직접 입력된 값 

- 정수 리터럴: 2진수(0b, 0B으로 시작), 8진수(0으로 시작), 10진수, 16진수(0x, 0X로 시작) 

 

❗️정수 리터럴은 기본적으로 int로 간주되기 때문에 int의 범위를 초과하는 경우 정수 리터럴 뒤에 L을 붙여준다. 

long balance = 30000000000L

 

❗️문자 리터럴: 하나의 문자작은따옴표로 감싼 것. 유니코드로 변환되어 저장된다. 
- char 변수에 문자 리터럴을 저장할 경우 자동으로 문자로 매핑되어 출력
- int 변수에 문자 리터럴을 저장할 경우 유니코드 자체가 출력

char var1 = 'A'; //A가 출력
int var2 = 'A'; // 65가 출력

 

 

✓ 실수 타입 

타입 메모리 사용 크기 정밀도(소수점 이하 자리)
float 4 Byte (32bit) 7자리
double 8 Byte (64bit) 15자리

- 실수는 기본적으로 double 타입으로 해석되기 때문에 float타입 변수로 저장할 경우 리터럴 뒤에 f나 F를 붙여준다 

double var = 3.14;
float var = 3.14f;

⇒ 메모리에 여유가 있고 특별한 이유가 없다면, 정확도가 더 높은 double 타입에 실수 리터럴을 저장하는 게 좋다 

 

 

✓ 논리 타입: boolean (true, false) 

boolean run = true;

 


⚠︎ String 타입

큰따옴표로 감싼 문자 (문자열) 

String 타입은 기본 타입이 아니고 참조 타입이다 (reference types) 

 

+ 이스케이프 문자: 역슬래시가 붙은 문자, 문자열 내부에 특정 문자를 포함시킬 수 있음 (예: \t, \n, \r, \", \', \\ 등) 

 

기본 타입 Primitive Data Types: 항상 값을 가지며 소문자로 시작한다 
참조 타입 Reference Types (Non-primitive Data Types): null 값을 가질 수 있으며 대문자로 시작한다 (예: String, Array, Class, Interface 등)

 

 

 

 

반응형