[Java] 변수

2022. 8. 4. 22:25BE/Java

프로그램은 작업을 처리하는 과정에서 필요에 따라 데이터를 메모리에 저장한다.

이 때 변수를 사용하는데 변수는 값을 저장할 수 있는 메모리의 주소 대신 부르는 이름이다.

변수란 이름을 갖게 된 이유는 프로그램에 의해서 수시로 값이 변동될 수 있기 때문이다.

변수에는 하나의 값만 저장할 수 있다.

변수에는 한 가지 타입의 값을 저장할 수 없다.

 

변수 선언

변수를 사용하기 위해서 먼저 변수를 선언해야 한다.

변수 선언은 어떤 타입의 데이터를 저장할 것인지 그리고 변수 이름이 무엇인지를 결정한다.

타입은 변수에 저장되는 값의 종류와 범위를 결정짓는 요소이기 때문에 어떤 값을 변수에 저장할지 충분히 생각한 다음 결정해야한다.

변수 이름은 메모리 주소에 붙여진 이름이다.

프로그램은 변수 이름을 통해서 메모리 주소에 접근하고 그 곳에 값을 저장하거나 그 곳에 있는 값을 읽는다.

 

명명 규칙

첫 번째 글자는 문자거나 $ , _ 이어야 하고 숫자로 시작할 수 없다. (필수)

영어 대소문자가 구분된다. (필수)

첫 문자는 영어 소문자로 시작하되 다른 단어가 붙을 경우 첫 문자를 대문자로 한다. (CamelCase)

문자 수 제한은 없다.

자바 예약어는 사용할 수 없다. (필수)

 

예약어

기본 데이터 타입 boolean, byte, char, short, int, long, float, double
접근 지정자 public, protected, default, private
클래스와 관련 class, abstract, interface, extends, implements, enum
객체와 관련 new, instanceof, this, super, null
메소드와 관련 void, return
제어문과 관련 if, else, switch, case, default, for, do, while, break, continue
논리값 true, false
예외 처리 관련 try, catch, finally, throw, throws
기타 transient, volatile, package, import, synchronized, native, final, static, strictfp, assert

 

변수 사용

변수를 사용한다는 것은 변수에 값을 저장하고 읽는 것을 말한다.

 

변수값 저장

변수에 값을 저장할 때 대입 연산자(=) 를 사용한다.

변수를 선언하고 처음 값을 저장할 경우, 이런 값을 초기값이라 한다.

변수에 초기값을 저장하는 것을 초기화라 한다.

int score;

변수 선언과 초기화를 동시에 할 수 있다.

int score = 100;

변수의 초기값은 코드에서 직접 입력하는 경우가 많은데 소스 코드 내에서 직접 입력된 값리터럴이라 부른다.

리터럴은 값의 종류에 따라 정수, 실수, 문자, 논리 리터럴로 구분된다.

 

※ 리터럴

리터럴에 해당되는 값은 특정 메모리 공간인 constant pool에 있다.

필요한 경우 constant pool에서 가져와서 사용한다.

문자형은 ' ', 문자열은 " "

 

정수 리터럴

소수점이 없는 정수 리터럴은 10진수로 간주한다.

0
75
-100

0으로 시작되는 리터럴은 8진수로 간주한다.

02
-04

0x 또는 0X로 시작하고 0~9 또는 A ~ F 또는 a ~ f로 구성된 리터럴은 16진수로 간주한다.

0x5
0xA
0xB3
0xAC08

정수 리터럴은 저장할 수 있는 타입은 byte, char, short, int, long과 같이 5개가 있다.

 

실수 리터럴

소수점이 있는 리터럴은 10진수 실수로 간주한다.

0.25
-3.14

대문자 E 또는 소문자 e가 있는 리터럴은 10진수 지수와 가수로 간주한다.

5E7 // 5 x 10^7
0.12E-5 // 0.12 x 10^(-5)

실수 리터럴을 저장할 수 있는 타입은 float, double이 있다.

 

문자 리터럴

작은 따옴표로 묶은 텍스트 하나는 문자 리터럴로 간주한다.

'A'
'한'
'\t'
'\n'

역슬래시(\)가 붙은 리터럴은 이스케이프 문자라고 하는데 특수한 용도로 사용된다.

'\t' // 탭
'\n' // 줄 바꿈
'\r' // 리턴
'\"' // 큰 따옴표
'\'' // 작은 따옴표
'\\' // 역슬래시 자체
'\u16진수' // 16진수에 해당하는 유니코드, 유니코드 2바이트이므로 4자리의 16진수로 유니코드 표현한다.

문자 리터럴을 저장할 수 있는 타입은 char 하나뿐이다.

 

문자열 리터럴

큰따옴표(")로 묶은 텍스트는 문자열 리터럴로 간주한다.

안에 텍스트가 없어도 문자열 리터럴로 간주한다.

문자열 리터럴 내부에서도 이스케이프 문자를 사용할 수 있다.

"대한민국"
"탭 만큼 이동 \t"
"한줄 내려쓰기 \n"

문자열 리터럴을 저장할 수 있는 타입은 String 하나뿐이다.

 

논리 리터럴

true와 false는 논리 리터럴로 간주한다.

true
false

논리 리터럴을 저장할 수 있는 타입은 boolean 하나뿐이다.

 

변수값 읽기

변수는 초기화가 되어야 읽을 수 있다.

 

변수 사용 범위

변수는 중괄호 {} 블록 내에서 선언되고 사용된다.

중괄호 블록을 사용하는 곳은 클래스, 생성자, 메소드이다.

 

메소드 블록 내에서 선언된 변수를 로컬 변수라고 부른다.

로컬 변수는 메소드 실행이 끝나면 메모리에서 자동으로 지워진다.

 

변수는 선언된 블록 내에서만 사용이 가능하다.

 

※ 상수

변수와 달리 초기화하면 변경할 수 없다.

상수 선언 방법 : final 예약어 사용

final double PI = 3.14;
final int MAX_NUM = 100;
728x90

'BE > Java' 카테고리의 다른 글

[Java] 연산자  (0) 2022.08.09
[Java] 데이터 타입  (0) 2022.08.05
[Java] 이클립스 설치  (0) 2022.08.04
[Java] 자바 프로그램 개발  (0) 2022.08.04
[Java] 자바 개발 환경 구축  (0) 2022.08.04