Notice
Recent Posts
Recent Comments
Link
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

자바의 정석 기초편 2-3 본문

JAVA

자바의 정석 기초편 2-3

Daryl 2023. 2. 10. 12:14

2-3 변수의 선언과 저장

프로그래밍에서 하나의 값(data)을 저장할 수 있는 메모리(RAM) 공간변수variable 라고 함.

원래는 각 메모리 공간에 메모리 주소가 순서대로 있는데, 그걸 외우기 힘드니까 이름을 붙여서 쓰는 것임.

즉, 변수를 쓰려면 변수를 선언해야 함.

변수타입 변수이름; // 변수를 선언하는 방법

예를 들어, 정수integer를 저장할 공간이 필요하면 아래와 같이 변수를 선언하면 됨.

int x; // 정수integer를 저장하기 위한 변수 x를 선언

위 문장이 수행되면 x라는 이름의 변수(저장공간)이 생김. 그럼 아래와 같이 원하는 값을 저장하면 됨.

x = 5; // 변수 x에 5를 저장

기호 = 는 수학에서는 등호이지만 java에서는 우변 값을 좌변에 저장하라는 대입 연산자assignment operator임.

 

변수의 선언과 저장을 동시에 할 수도 있음. 그것을 초기화라고 함.

변수의 초기화: 변수에 처음으로 값을 저장하는 것

변수를 읽기 전에 어떤 값이 있는지 모르니까 지우고 내가 원하는 값을 넣는 것임.

보통은 변수를 처음 선언할 때는 대부분 0으로 초기화를 하지만, 다른 값을 넣을 때도 있음.

int x = 5; // 변수의 선언, 변수에 대입을 동시에 함

 

변수의 종류는 세 가지가 있음.

1. 클래스 변수

2. 인스턴스 변수

3. 지역 변수

이 중 지역 변수는 읽기 전에 반드시 초기화를 해야 함. 다른 변수들과 달리 0으로 자동 초기화가 되지 않기 때문.

6단원 전까지 우리가 쓸 것은 지역 변수임. 지역 변수를 초기화하지 않으면 컴파일할 때 에러가 발생할 수 있음.

 

변수의 값을 읽어올 수도 있음. 변수의 값이 필요한 곳에 변수의 이름을 적으면 됨.

예를 들어, 변수 year와 age를 선언해보겠음.

int year = 0, age = 14;
year = age + 1000; // 여기서 age의 값이 14이기 때문에
year = 1014;	   // year의 값은 1014가 됨

변수 age의 값도 변화시킬 수 있음. 변수 하나당 하나의 값만 저장할 수 있기 때문.

age = age + 1; // 여기서 age의 값이 14이기 때문에
age = 15;      // 새로운 age의 값은 15가 됨.

위 예시에서 알 수 있듯, 변수 x의 값을 1 증가 시키려면 x = x+ 1; 이라고 선언하면 됨.

이 변수의 값을 화면에 출력하려면 저번에 배운 system.out.print나 system.out.println을 이용하면 됨.

system.out.println(age); // 15가 화면에 출력됨

이클립스에서 실습해보겠음.

ch02 프로젝트에서 VarEx1이라는 클래스를 하나 만듦.

에디터에 대충 system.out.println("6+3"); 적고, 실행해보겠음.

에디터에서 우클릭, run as -> java application 클릭

당연히 결과는 이렇게 나옴. 큰따옴표를 없애고 6+3만 적으면 9가 나올 것임.

이건 저번 시간에 배운 거고, 이번에는 값이 6과 3인 변수를 각각 선언해보겠음.

이를 실행해보면, 6과 3의 사칙연산이 나옴. 

그리고 x와 y 값만 바꾸면 또 다르게 연산값이 나옴.

이처럼 변수를 선언하면 코드 수정이 편리해짐.

 

 

'JAVA' 카테고리의 다른 글

자바의 정석 기초편 2-6  (0) 2023.02.10
자바의 정석 기초편 2-4~5  (0) 2023.02.10
자바의 정석 기초편 2-1~2  (0) 2023.02.10
자바의 정석 기초편 1-17~19  (0) 2023.02.09
자바의 정석 기초편 1-13~16  (0) 2022.12.19
Comments