#2 1. 변수(variable)

지연·2022년 3월 12일
0

자바의 정석

목록 보기
3/5

1. 변수(variable)란?

값을 저장할 수 있는 메모리 상의 공간
하나의 변수에 단 하나의 값만 저장할 수 있으므로, 새로운 값을 저장하게 되면 기존 값은 사라진다.

2. 변수의 선언과 초기화

int age;	//age라는 변수를 선언 (int : 변수타입 / age : 변수이름)

변수타입 : 변수에 저장될 값이 어떤 type인지 지정
변수이름 : 변수에 붙인 이름(메모리 공간에 이름을 붙여주는 것) - 서로 구별될 수 있어야하기 때문에 같은 이름의 변수가 여러개 있으면 안됨.

변수를 선언하면, 메모리의 빈 공간에 '변수타입'에 알맞는 크기의 저장공간이 확보되고 앞으로 이 저장공간은 '변수이름'을 통해 사용할 수 있음

변수의 초기화 : 변수를 사용하기 전에 처음으로 값을 저장하는 것
변수를 사용하려면 반드시 '초기화(initialization)'를 해야한다. 그 이유는 메모리는 여러 프로그램이 공유하는 자원이므로 전에 다른 프로그램에 의해 저장된 쓰레기값(garbage value)이 남아있을 수 있기 때문이다.

변수에 값을 저장할 때 대입 연산자(=)를 사용하며, 자바에서는 오른쪽의 값을 왼쪽(변수)에 저장하라는 뜻이다.

int age = 25;	// 변수 age를 선언하고 25로 초기화한다.

변수는 한 줄에 하나씩 선언하는 것이 보통이지만, 타입이 같은 경우 콤마(,)를 구분자로 사용하여 여러 변수를 한 줄에 선언하기도 한다.

int a;
int b;
-> int a, b;

int x = 0;
int y = 0;
-> int a = 0, y = 0;

변수에 종류에 따라 초기화를 생략하는 경우도 있지만, 변수를 사용하기 전에 적절한 값으로 초기화하는 것이 좋다.
(클래스 변수와 인스턴스 변수는 초기화 생략 가능)

VarEx1.java

class VarEx1 {
	public static void main(String[] args) {
    	int year = 0;
        int age = 14;
        
        System.out.println(year);
        System.out.println(age);
        
        year = age + 2000;	//age값에 2000을 더해서 year에 저장
        age = age + 1;		//age에 저장된 값 1증가
        
        System.out.println(year);
        System.out.println(age);
  • 변수 year와 age를 각각 0과 14로 초기화
int year = 0;
int age = 14;
  • 화면에 글자 출력 -> println()
System.out.println(year);
System.out.println(age);
  • 변수 age에 저장된 값에 2000을 더한 다음 그 결과를 변수 year에 저장
    변수에 값을 저장하는 대입연산(=)은 우변의 모든 계산이 끝난 후 제일 마지막에 실행된다.
year = age + 2000;

//처리 과정
-> year = 14 + 2000;	//변수 age에 저장된 값(14)을 읽어와서 식에 사용
-> year = 2014			//변수 year에 2014를 저장
  • 변수의 값을 읽어다 1을 더한 다음 다시 변수 age에 저장
age = age + 1

//처리 과정
-> age = 14 + 1;	//변수 age에 저장된 값을 읽어온다.
-> age = 15;		//변수 age에 15를 저장한다.

두 변수의 값 교환하기
두 변수에 담긴 값을 서로 바꾸려면?

int x = 10;
int y = 20;

x = y;	//x = 20, y = 20
y = x;	//x = 20, y = 20

-> y의 값을 x에 저장할 때, 이미 x의 값이 없어졌기 때문에 x의 값을 y에 저장해도 소용이 없음.

int x = 10;
int y = 20;
int tmp;	//x값을 임시로 저장할 변수를 선언

tmp = x;	//x = 10, y = 20, tmp = 10
x = y;		//x = 20, y = 20, tmp = 10
y = tmp;	//x = 20, y = 10, tmp = 10

3. 변수의 명명규칙

프로그래밍에서 사용하는 모든 이름을 '식별자(identifier)'라고 하며, 식별자는 같은 경역 내에서 서로 구분될 수 있어야한다.

변수 명명 규칙
1. 대소문자가 구분되며 길이에 제한이 없다.
-> True와 true는 서로 다른 것으로 간주
2. 예약어를 사용해서는 안 된다.
-> true는 예약어라서 사용할 수 없지만, True는 가능
3. 숫자로 시작해서는 안 된다.
-> top10은 허용하지만, 7up은 허용하지 않는다.
4. 특수문자는 '_'와 '$'만을 허용한다.
-> $harp은 허용되지만, S#arp은 허용되지 않는다.

예약어 : 키워드 또는 '리져브드 워드(reserved word)'라고 하며, 프로그래밍 언어의 구문에 사용되는 단어.
-> 클래스나 변수, 메서드의 이름으로 사용할 수 없다.

자바 프로그래머들의 권장 규칙
1. 클래스 이름의 첫 글자는 항상 대문자로 한다.
-> 변수와 메서드의 이름의 첫글자는 항상 소문자로 한다.
2. 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다.
-> lastIndexOf, StringBuffer
3. 상수의 일므은 모두 대문자로 한다. 여러 단어로 이루어진 경우 '_'로 구분한다.
-> PI, MAX_NUMBER

반드시 지켜야하는 규칙은 아니지만, 코드를 이해하기 쉽게 하기 위한 자바 개발자들 사이의 암묵적인 규칙이다.

0개의 댓글

관련 채용 정보