변수 (Variable) : 메모리(RAM)에 값을 기록하기 위한 공간
변수에 값을 기록하는 이유 : 프로그램 실행 시 사용할 값(Data)이 있다면 그 값은 먼저 메모리에 기록되어야 함
변수 사용 목적
1. 가독성이 좋아진다
2. 재사용성 증가로 인한 코드량 감소
3. 유지보수 용이
변수의 선언 : 메모리 공간에 데이터를 저장할 수 있는 공간을 할당하는 것
[표현법] 자료형 변수명 ;
자료형 : 변수의 크기 및 모양을 지정해주는 부분
변수명 : 변수의 이름을 붙여주는 부분(의미부여)
ex) int pay;
선언 예시
- 논리형 변수 선언 boolean isTrue;
- 문자형 변수 선언 char ch;
- 문자열 변수 선언 String str;
- 정수형 변수 선언 byte bnum;
short snum;
int inum;
long lnum;
- 실수형 변수 선언 float fnum;
double dnum;
변수 선언 시 주의할 점
1. 변수 이름은 소문자로 시작한다. 단, 낙타 표기법을 지킬 것! 예약어 불가!
낙타 표기법 ex) Sting userName;
2. 같은 영역 안 ({})에서는 동일한 변수명으로 선언 불가. 즉, 중복 불가
3. 해당 영역 안 ({})에서 선언한 변수는 그 영역 안에서만 사용 가능
자료형 (type)
데이터 저장 단위
- 저장 공간이 제한적이기 때문에 저장 크기에 대한 기준과 CPU가 데이터를 처리할 때 일정한 기준 필요
- 비트(bit) : 컴퓨터가 나타내는 데이터의 저장 최소 단위로서 2진수 값 하나를 저장할 수 있는 메모리 공간을 의미
- 바이트(byte) : 데이터 처리 또는 문자의 최소 단위로서 8개의 비트가 모여 하나의 바이트가 구성됨
1bit |
1byte
2byte
변수 저장 가능 범위
자료형 | 범위 | 크기(bit) | 기본 값 |
boolean | true, false | 8 | false |
char | 0~65, 535(유니코드문자) | 16 | ‘\u0000’ |
byte | -128~127 | 8 | 0 |
short | -32,768 ~ 32,767 | 16 | 0 |
int | -2,147,483,648 ~ 2,147,483,647 | 32 | 0 |
long | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | 64 | 0L |
float | ±1.4E-45 ~ 3.4E38 | 32 | 0.0f |
double | ±4.9E-324 ~ 1.8E308 | 64 | 0.0 또는 0.0d |
오버플로우
- 127+1을 하면 범위를 초과한 128이 되고 허용된 범위 이상의 비트를 침범하게 되는데 이를 오버플로우라고 한다
변수 명명 규칙
0. 같은 영역 내에 중복된 이름 안된다
1. 대소문자가 구분되며 길이 제한이 없다
2. 예약어를 사용하면 안 된다
ex) true, final, String 등
3. 숫자로 시작하면 안 된다
ex) age1은 가능하지만 1age는 불가능
4. 특수문자는 '_'와 '$'만을 허용한다
5. 여러 단어 이름은 단어의 첫 글자를 대문자로 한다.
단, 첫 시작 글자는 소문자로 하는 것이 관례이다
값 대입
생성한 변수(저장 공간)에 값을 대입하는 것
int age;
age = 10;
age = 20;
변수는 한 개의 데이터만 보관, 마지막에 대입한 값만 보관
리터럴
변수에 대입되는 값 자체
shorts = 32767;
int i = 100;
long l = 10000L;
float f = 0.123f;
double d = 3.14;
char c = 'A';
String str = "ABC";
변수의 초기화
변수를 사용하기 전에 처음으로 값을 저장하는 것
-> 지역변수(메소드 안 변수)는 반드시 초기화해야 함
- 선언 후 초기화
int age;
age = 100;
- 선언과 동시에 초기화
int age = 100;
문자열
컴퓨터에서 "버스", "출력하세요" 등과 같이 단어나 문장을 문자열이라고 표현
""로 묶여 있으면 문자열로 인식하면 Java에서는 String 객체를 이용하여 저장
- 문자열 초기화
String str = "버스";
String str = new String("버스");
String str = "버스" + "부릉부릉";
String str = new String("버스" + "부릉부릉");
String str = "버스" + 123 + 45 + "도착";
String str = 123 + 45 + "버스" + "도착";
다른 자료형 + "문자열" -> 문자열
"문자열" + 다른 자료형 -> 문자열
상수
수학에서는 변하지 않는 값의 의미
컴퓨터(Java)에서는 한 번만 저장(기록)할 수 있는 메모리 의미
상수 선언
[표현법] final 자료형 상수명;
ex) final int Age;
상수 초기화
- 선언과 동시에 초기화
final int NUM = 100;
- 선언 후 초기화
final int NUM;
NUM = 100;
초기화 이후 다른 데이터(값)를 대입할 수 없다
* 대표적인 상수의 예 : 3.14(파이, 원주율)
* 가독성을 위해서 언더바 사용 가능
ex) int etc = 999_999_999;
'Study' 카테고리의 다른 글
[JAVA/자바] 형변환 (Casting) - 강제 형변환 / 자동 형변환 (0) | 2022.10.20 |
---|---|
[JAVA/자바] 자바11 설치 / 환경 변수 설정 (0) | 2022.10.20 |
[JAVA/자바] Scanner / 스캐너 (0) | 2022.10.20 |
[JAVA/자바] 출력 메소드 printf (0) | 2022.10.20 |
[JAVA/자바] 주요 예약어 (0) | 2022.10.20 |