본문 바로가기

개발 일반/프로그래밍 언어 - Java

[Java] Java의 정석 (2) 변수 1

 

변수의 선언

 

변수의 정의

 

- 변수 : 하나의 값을 저장할 수 있는 메모리 공간

 

 

변수 선언 방법

변수타입 변수이름;

 

 

변수에 값 저장하기

1. 변수 선언 후 값 저장

int age; // int형 변수 age를 선언
age = 25; // 변수 age에 25를 저장

 

2. 변수의 초기화

int x = 0; // 변수 x를 선언한 뒤 0으로 초기화
int y = 0, z = 5; // 같은 타입의 두 변수를 함께 초기화

 

* 지역변수는 자동초기화되지 않으니, 꼭 초기화 해주어야 한다.

 

 

변수에 저장된 값 읽어오기

- 변수의 값이 필요한 곳에 변수 이름을 적는다.

int year = 0, age = 14;
year = age + 2000;

 

- 대입 연산은 가장 나중에 실행된다.

 

 

변수, 상수, 리터럴

 

 

변수, 상수, 리터럴의 정의

- 변수 : 하나의 값을 저장하기 위한 공간 (변경 가능)

- 상수 : 한 번만 값을 저장 가능한 변수 (변경 불가)

- 리터럴 : 그 자체로 값을 의미한다. (기존의 상수 개념과 같음)

 

* 상수의 선언 방법

final int MAX = 100; // 변수 선언 방법과 같으나, 변수타입 앞에 final을 붙여준다.

 

 

리터럴의 타입과 접미사

종류 접미사
논리형 (false, true) 없음
정수형 L
실수형 f, d
문자형 없음
문자열 없음

- 정수형 리터럴 뒤에 L이 붙어있으면 long형. 안붙어있으면 int형.

- 실수형 리터럴 뒤에 f가 붙어있으면 float형. 안붙어있으면 doluble형.

- 리터럴의 접미사는 대소문자를 구별하지 않는다.

 

*  큰 수를 표현할 때, 중간에 _를 넣어 보기 쉽게 표현할 수 있다.

long l = 10_000_000_000L;

 

 

 

변수와 리터럴의 타입 불일치

 

1. 범위가 변수 > 리터럴 인 경우, 자동으로 형변환된다.

int i = 'A'; // int > char
long l = 123; // long > int
double d = 3.14f; // double > float

 

2. 범위가 변수 < 리터럴 인 경우, 에러가 발생한다.

 

3. byte, short형 변수에 int형 리터럴을 저장할 수 있다. (byte, short형 리터럴은 없기 때문)

byte b = 100; // int형 리터럴을 저장하나, byte의 범위(-128~127)에 속하므로 OK.

 

 

 

- 참고 자료 - 

Java의 정석 (남궁성 저)