Java

[자바의 정석] #CH.2 변수 Variable - 2.1 변수와 상수

소댓 2023. 1. 12. 10:56

1. 변수(Variable)

1-1. 변수란(variable)란?

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

 

1-2. 변수의 선언과 초기화

(1) 변수의 선언 이유

: 값(data)을 저장할 공간을 마련하기 위해서

 

(2) 변수의 선언 방법

 변수타입 변수이름 ;

 int age ; // 정수(int)타입의 변수 age를 선언

 

(3) 변수에 값 저장하기

① 변수에 값 저장하기

 int age ; // 정수(int)타입의 변수 age를 선언

 age = 25; // 변수 (age)에 25를 저장

 int age = 25; // 위의 두 줄을 한 줄로

 

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

 int x = 0; // 변수 x를 선언 후, 0으로 초기화

 int y = 5; // 변수 y를 선언 후, 5로 초기화

 int x = 0, y = 5; // 위의 두 줄을 한 줄로

 

- 변수의 종류 : 클래스 변수 / 인스턴스 변수 / 지역 변수

>> 지역 변수는 읽기 전에 꼭! 초기화해야 함

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
public class VarEx1_1 {
 
    public static void main(String[] args) {
        int year = 0// 변수의 값이 필요한 곳에 변수의 이름을 적는다.
        int age = 14;
        
        System.out.println(year);
        System.out.println(age);
        
        year = age + 2000// 변수의 값을 1 증가시키는 방법
        age = age + 1;
        
        System.out.println(year);
        System.out.println(age);
    }
 
}
cs
더보기

<결과>

0

14

2014

15

 

1
2
3
4
5
6
7
8
9
10
11
12
13
 
public class VarEx1 {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int x=4, y=2;
        System.out.println(x+y); // 덧셈
        System.out.println(x-y); // 뺄셈
        System.out.println(x*y); // 곱셈
        System.out.println(x/y); // 나눗셈
    }
 
}
cs
더보기

<결과>

6

2

8

2

* 두 변수의 값 교환하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
public class VarEx2_1 {
 
    public static void main(String[] args) {
        int x = 10, y = 20;
        int tmp = 0// x값을 임시로 저장할 변수를 선언
        
        System.out.println("x:" + x + " y:" + y);
        
        tmp = x; // 변수 x에 저장된 값을 변수 tmp에 저장
        x = y; // 변수 y에 저장된 값을 변수 x에 저장
        y = tmp; // 변수 tmp에 저장된 값을 변수 y에 저장
        
        System.out.println("x:" + x + " y:" + y);        
    }
 
}
 
cs
더보기

(결과)

x:10 y:20
x:20 y:10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
public class VarEx2 {
 
    public static void main(String[] args) {
        int x = 4, y = 2;
        int tmp;
        
        tmp = x; // 1. x의 값을 tmp에 저장
        x = y; // 2. y의 값을 x에 저장
        y = tmp; // 3. tmp의 값을 y에 저장
        
        System.out.println("x="+x);
        System.out.println("y="+y);
    }
 
}
 
cs
더보기

(결과)

x=2
y=4

 

 

1-3. 변수의 명명규칙

- '변수의 이름'처럼 프로그래밍에서 사용하는 모든 이름을 '식별자'라고 함

- 식별자는 같은 영역 내에서 서로 구분(식별)될 수 있어야 하며, 아래와 같은 규칙을 지켜야 함

 

① 대소문자가 구분되며 길이에 제한이 없다.

: True와 true는 서로 다른 것으로 간주된다.

② 예약어를 사용해서는 안 된다.

: true는 예약어라서 사용할 수 없지만, True는 가능하다.

③ 숫자로 시작해서는 안 된다.

: top10은 허용하지만, 7up은 허용되지 않는다.

④ 특수문자는 '_'와 '$'만을 허용한다.

: $harp은 허용되지만, s#arp는 허용되지 않는다.

 

 

* 자바 프로그래머들에게 권장하는 규칙들

① 클래스 이름의 첫 글자는 항상 대문자로 한다.

: 변수와 메서드의 이름의 첫 글자는 항상 소문자로 한다.

② 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다.

: lastIndexOf, StringBuffer

③ 상수의 이름은 모두 대문자로 한다. 여러 단어로 이루어진 경우 '_'로 구분한다.

 : PI, MAX_NUMBER

 

- 변수의 이름은 짧을수록 좋지만, 약간 길더라도 용도를 알기 쉽게 '의미있는 이름'으로 짓는 것이 바람직하다.

int curpos = 0; // 현재 위치(current position)

int lastPos = -1; // 마지막 위치(last position)