Language/JAVA

2주차 과제 - 변수 선언 및 초기화하는 방법

변수란?

 

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

이때 변수를 사용하는데, 변수(Variable)은 값을 저장할 수 있는 메모리의 공간을 의미한다.

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

변수에는 복수 개의 값을 저장할 수 없고, 하나의 값만 저장할 수 있다.

예를 들어 정수 타입 변수에는 정수값만 저장 가능하고, 실수 타입 변수에는 실수 값만 저장 가능하다.

 

변수란, 하나의 값을 저장할 수 있는 메모리 공간이다

 

변수 선언 및 초기화하는 방법

 

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

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

변수 선언은 다음과 같다.

타입 변수이름
int age;
double value;

 

int age;

double value;



int x, y z;

// 정수(int)값을 저장할 수 있는 age 변수 선언

// 실수(double)값을 저장할 수 있는 value 변수 선언

// 같은 타입의 경우 ,(콤마)를 이용해서 한꺼번에 선언할 수도 있다.

 

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

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

 

변수 이름은 자바 언어에서 정한 명명 규칙(naming convention)을 따라야 한다. 변수 명명 규칙은 다음과 같다.

작성규칙
첫번째 글자는 문자이거나 '$','_' 이어야 한다.
또한 숫자로 시작할 수 없다.
가능: price, $price, +companyName
불가능 : 1v, @speed, $#value
영어 대소문자가 구분된다.(필수) firstname과 firstName은 다른 변수
첫 문자는 영어 소문자로 시작하되, 다른 단어가 붙을 경우 첫 문자를 대문자로 한다.(관례) maxPower, firstLove, keyBoardColor
문자 수(길이)의 제한은 없다.  
자바 예약어는 사용할 수 없다.(필수)  

자바 예약어

분류 예약어
기본 데이터 타입 boolean, byte, char, short, int, long, float, double
접근 지정자 private, protected, public
클래스와 관련된 것 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, final, throw, throws
기타 transient, volatile, package, import, synchronized, native, final, static, strictfp, assert

 

 

변수 이름을 보고, 어떤 값을 저장하고 있는지 알기 쉽게 알 수 있도록 의미 있는 변수 이름을 지어주는 것이 좋다.

변수이름의 길이는 길어도 상관없다. but 일부러 길게 늘여쓰지는 말자.

 

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

일반수학에서는 ' = ' 은 같다는 의미이지만 자바 언어에서는 우측의 값을 좌측 변수에 저장한다는 의미를 갖는다.변수를 선언하고 처음 값을 저장할 경우, 이러한 값을 초기값이라고 한다.그리고 변수에 초기값을 주는 행위를 초기화라고 한다.

public class Main{
	public static void main(String[] args){
    int score;	// 변수 선언
    score = 90;	// 값 저장 (초기화)
    
    int testScore = 99; // 변수 선언과 동시에 초기화
    }
}

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

 

변수값 읽기

 

변수는 초기화가 되어야 읽을 수 있고, 초기화 하지 않은 변수는 읽을 수 없다. (주소지를 찾지 못함)

 

int price;			// 변수 price 선언(초기화 X)
int totalPrice = price + 10; 	// 변수 price 값을 읽고 10을 더한 결과물을 변수 totalPrice에 저장

변수는 생성하였지만, 초기화를 하지 않아서 산술 연산식 price + 10 에서 사용할 수 없다.

int price = 123;		// 변수 price가 123으로 초기화
int totalPrice = price + 10;	// 변수 price값을 읽고 10을 더한 값이 totalPrice로 저장

 

'Language > JAVA' 카테고리의 다른 글

2주차 과제 : 변수의 스코프와 라이프타임  (0) 2021.02.13
2주차 과제 : 리터럴  (0) 2021.02.13
4주차 과제: 제어문 과제  (0) 2021.02.11
4주차 과제: 제어문  (0) 2021.02.11
3주차 과제: 연산자  (0) 2021.02.10