- 프로그래밍에서 변수란
'단 하나의 값을 저장할 수 있는 메모리 상의 공간'
을 의미한다.- 변수는 램의 메모리 한 공간을 차지한다.
- 하나의 변수에 단 하나의 값만 저장할 수 있으므로 새로운 값을 저장하면 기존의 값은 사라진다.
1. 변수의 선언
변수를 사용하려면 먼저 변수를선언
해야 하는데, 변수의 선언방법은 다음과 같다.
int age;
int num;
- age라는 이름의 변수를 선언
- int 라는 변수 타입을 설정
- 변수타입은 변수에 저장될 값이 어떤 타입인지를 지정하는 것
- 자바는 정수형, 실수형, 문자형 등의 다양한 타입을 제공한다.
** 변수를 선언하면 메모리의 빈 공간에 '변수 타입'에 알맞는 크기의 저장공간이
확보되고, 앞으로 이 저장 공간은 '변수 이름'을 통해 사용할 수 있다.
2. 변수의 초기화
변수를 선언한 이후부터는 변수를 사용할 수 있으나 그 전에 반드시 변수를'초기화(initialization)'
를 해야한다.
메모리상에 값을 넣는 행위를초기화
하고 한다.
선언과 동시에 초기화
int age = 10;
int num = 100;
선언과 초기화를 분리
int age;
age = 10;
3. 변수의 명명규칙
- 대소문자가 구분되며 길이의 제한은 없다. ( 오타 주의)
int apple; int aPple; -> 두 개는 다른 변수
- 예약어를 사용해서는 안된다.
public, if, for, while, do, class
등, 자바에서 이미 쓰고 있는 변수이름은 사용할 수 없다.- 특수문자는
'-', '$'
만 허용한다.- 상수 이름은 모두
대문자
로 한다.const int MAX_NUMBER = 10;
- 변수 이름의 첫 글자는 숫자로 시작될 수 없다.
- 변수의 이름은 짧을 수록 좋지만, 약간 길더라도 용도를 알기 쉽게
'의미있는 이름'
으로 하는 것이 바람직하다.int categoryNumber - 카멜기법, 낙타기법 int category_number - 스테이크기법
- 문자, 숫자 정수, 실수
- 이러한 값의 종류에 따라 값이 저장될 공간의 크기와 저장형식을 정의한 것이
자료형(data type)
이다.- 자바에서 제공되는 자료형의 종류에는 8가지가 있으며,
이를 기본 데이터타입이라 한다.
- 모든 변수는 컴퓨터의
메모리 영역
에 생성된다.- 일반적으로 메모리란, PC에서 RAM을 의미한다.
- 4byte의 크기를 갖는 변수값 하나를 생성 할 경우,
PC의 RAM에서 해당 용량만큼 사용하게 된다.- 변수는 RAM의 크기를 넘지 않는 범위 안에서만 생성할 수 있다.
자료형(data type)
은기본형
과참조형
두 가지로 나눌수 있는데,
기본형변수는 실제 값(data)를 저장하는 반면,
참조형 변수
는 어떤 값이 저장되어 있는주소(memory address)
를 값으로 갖는다.
- 기본형 ( primitive type) -> 값을 저장
논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double)
종류 | 타입 |
---|---|
논리형(boolean) | true와 false 중 하나를 값으로 가지며 조건식과 논리적 계산에 사용된다. |
문자형(char) | 문자를 저장하는데 사용하며 변수에 단 하나의 문자만 저장할 수 있다. |
정수형 | byte, short, int, long / 정수를 저장하는데 사용되며 주로 "int"가 사용된다. |
실수형 | float, double / 실수를 저장하는데 사용되며 주로 "double" 이 사용된다. |
1byte | 2byte | 4byte | 8byte | |
---|---|---|---|---|
논리형 | boolean | |||
문자형 | char | |||
정수형 | byte | short | int | long |
실수형 | float | double |
- 참조형(reference type)
객체의주소를 저장
한다. 8개의 기본형을 제외한 나머지 타입
Car car = new Car();
car라는 변수는 stack영역에 생성되고
new 명령어로 객체가 생성되고 heap영역에 주소값이 저장된다.
- long, float, double은 다른 데이터형과의 구별을 위해 값 뒤에 데이터형의 첫 글자를 접미사로 가질 수 있다.
- 접미사는 대/소문자를 가리지 않지만 가급적 대문자로 사용하는 것이 좋다.
long num = 500000L; float pi = 3.14F; double lat = 128.32D;
- String 형의 변수를 선언하고, 쌍 따옴표( " " )로 묶인 값을 대입한다.
- 빈 문자열이나 공백도 문자열 데이터이다.
String msg = "안녕하세요"; // 문장표현, 공백포함
String blank = ""; // 빈 문자열 값
String age = "20"; // 문자열 -> 사칙연산 불가능
- 문자열 + 문자열 : 두 문장을 하나로 합쳐준다.
String language = "JA" + " VA"; //"JAVA"
- 문자열 + 기본자료형 : 문자열로 변환되어 계산된다.
int age = 20; String name = "자바학생"; String result = name + age; // "자바학생20"
int num1 = 3; int num2 = 7; String name = "자바학생"; System.out.println(num1 + num2 + name); // 10자바학생 System.out.println(num1 + name + num2); // 3자바학생7