1. 변수란?
- 다양한 종류의 자료를 표현할 수 있는 값을 변수라고 부르며, 일반적으로 웹 페이지에서 처리하고자 하는 "데이터"에 해당한다.
2. 자료형(data type)
- 프로그래밍 언어에서 변수의 종류를 구별하기 위해 사용되는 키워드이다.
- 자바에서 제공되는 자료형의 종류에는 8가지가 있으며 이를 기본 자료형(primitive data type)이라고 한다.
3. 자료형이 가지는 의미
- 모든 변수는 컴퓨터의 메모리 영역에 생성된다.
- 일반적으로 메모리란, PC에 설치하는 RAM을 의미한다.
- 4 byte의 크기를 갖는 변수 값 하나를 생성할 경우, PC의 RAM에서 해당 용량 만큼을 사용하게 된다.
- 변수는 RAM의 크기를 넘지 않는 범위 안에서만 생성할 수 있으며, 만약 용량을 넘어서는 경우 OutOfMemory라는 에러가 발생한다.
4. 문자열 데이터
- 프로그램 코드에서 "문장"을 표현하기 위해 사용되는 데이터 값
- String : 일종의 class 이며, 문자열을 표현하기 위한 자료형이다.
- 글자 수에 상관 없이 쌍따옴표("")로 묶인 내용을 할당할 수 있다.
- 글자값의 경우 쌍따옴표로 묶이게 되면 문자열로 취급되므로, 숫자와 문자열을 분명하게 구별해야한다.
5. 변수
5-1. 변수를 사용하는 방법은 "선언"과 "할당"의 두 영역으로 구분된다.
5-2. 변수의 선언 : 선언은 데이터형과 사용하고자 하는 변수의 이름을 정한 수, 세미콜론(;)으로 한 라인을 종료한다.
5-3. 변수의 할당 : 선언된 변수에 원하는 값을 대입하는 과정이다.
- 값의 대입은 대입연산자(=)를 사용하여 우변에서 좌변으로 대입된다.
5-4. 선언과 변수의 통합
(데이터형식) (변수이름) = (변수에 넣을 값);
int num1 = 200;
- 문자열 데이터
String형의 변수를 선언하고, 쌍따옴표로 묶인 값을 대입한다. 빈 문자열이나 공백도 문자열 데이터이다.
ex) String msg = "Hello java";
String blank = ""; // 빈 문자열도 값을 갖는다.
String age = "20"; // 숫자값이 쌍따옴표로 묶였다면 20은 문자열이다.
- 문자열 데이터의 덧셈 : 문자열끼리 더해줄때는 "+"를 사용한다.
- 문자열 + 기본자료형 : 기본자료형의 데이터가 문자열로 변환되고, 두 문장이 합쳐진다.
Ex) int a = 20; String b = "자바";
System.out.println(a+b); //20자바으로 출력되며 글자수의 길이는 4이다.
- 변수이름 명명 규칙
- 변수 이름은 영문, 숫자, "-", "$"만 사용가능하다
- 변수 이름의 첫 글자는 숫자로 시작될 수 없다.
- 대/소문자를 엄격하게 구분, 오타에 주의
- 자바에서 사용하는 예약어(키워드)를 사용할 수 없다. class, if, boolean, void 등등
- 클래스 이름의 명명 규칙도 변수 이름의 규칙과 동일하다.
6. 변수의 할당
- long, float, double은 다른 데이터형과의 구별을 위해 값 뒤에 데이터 형의 첫 글자를 접미사로 가질 수 있다.
- 접미사는 대/소문자를 구분하지 않지만, 가능하면 대문자로 사용하는 것이 좋다.
- long money = 5000000000000000L;
- float PI = 3.14F;
- double lat = 128.32452D;
boolean은 true(참), false(거짓) 중의 한 값만 갖는다.
char는 홑따옴표(')로 감싸진 한 글자만 대입할 수 있다.
Ex) char firstname= '전';
7. 값의 할당 방법
-
생성된 변수는 다른 변수에 대입될 수 있다.
int num1 = 100;
num1 = 200; //이렇게 재할당은 가능하다.
int num1 = 300; //error : 이렇게 다시 같은 이름으로 변수를 생성하는 것은 불가능하다.
-
선언되지 않은 변수는 사용할 수 없다.
int num = 100;
num1 = 200;
num2 = 300; //error
-
값이 대입되지 않은 변수는 다른 변수에 대입하거나 출력할 수 없다.
int num1;
int num2= num1; //error
System.out.println(num1);//error
3-8. 상수 = 변하지 않는 수
-
변수와 마찬가지로 메모리상에 존재하지만, 값이 변경될 수 없는 데이터이다.
-
final 키워드를 사용하여 선언된 변수는 상수로 생성된다.
final int MAXWEIGHT = 50;
final float PI = 3.14F;
-
메모리 상에 이름이 생성되므로 접근은 가능하지만, 할당한 값을 변경할 수는 없다.(읽기 전용)
final int AGE = 20;
AGE = 21; // error
-
암묵적인 약속으로 상수의 선언은 대문자로 한다. 그래야 코드를 보고 바로 상수인 것을 알 수 있다.