(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)
변수란 '변경이 가능한 수' 라는 의미로 상수와 반대되는 의미이다. 데이터(상수)를 저장할 수 있는 메모리 공간에 붙여진 이름이나, 메모리 공간 자체를 말한다. 변수는 종류에 따라 Type이 정의되고, 사용하기 전에 선언되어 있어야 한다.
■ 변수 선언 시 주의사항
- 변수의 이름은 숫자로 시작할 수 없다.
- $과 _ 이외의 다른 특수문자는 사용할 수 없다.
- 아래의 키워드는 변수의 이름으로 사용할 수 없다.
boolean | if | interface | class | true |
char | else | package | volatile | false |
byte | final | switch | while | throws |
float | private | case | return | native |
void | protected | break | throw | implements |
short | public | default | try | import |
double | static | for | catch | synchronized |
int | new | continue | finally | const |
long | this | do | transient | enum |
abstract | super | extends | instanceof | null |
■ 정수형 변수
- 첫 번째 비트를 MSB(Most Significant Bit)로 사용하여 양수인지 음수인지를 표시하고, 나머지는 정수형 데이터를 표현한다. 정수형 변수 선언 시 주로 int 형을 사용한다.
자료형 | 메모리 크기 | 표현 가능 범위 |
byte | 1 Byte | -128 ~ 127 |
short | 2 Byte | -32,768 ~ 32,767 |
int | 4 Byte | -2,147,483,648 ~ 2,147,483,647 |
long | 8 Byte | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
[short 데이터 표현]
■ 실수형 변수
- 소수점이나 지수를 갖는 실수형 데이터를 기억하거나 처리하기 위해서 사용한다. 실수형 변수 선언시 주로 double 형을 사용한다.
자료형 | 메모리 크기 | 유효숫자 | 표현 가능 범위 |
float | 4 Byte | 소수점 이하 6자리 | ±(1.40 * 10^-45 ~ 3.40 * 10^38) |
double | 8 Byte | 소수점 이하 15자리 | ±(4.94 * 10^-324 ~ 1.79 * 10^+308) |
[float 데이터 표현]
[double 데이터 표현]
■ 문자형 변수
- 유니코드는 문자 하나를 2바이트로 표현하는 문자체계로, 유니코드를 이용하여 세계의 모든 언어를 표현할 수 있다.
자료형 | 메모리 크기 | 표현 가능 범위 |
char | 2 Byte | 모든 유니코드 문자 |
■ 참, 거짓 표현 변수
- '참'과 '거짓'의 표현을 위해 약속된 형태의 데이터를 저장한다.
자료형 | 메모리 크기 | 표현 가능 범위 |
boolean | 1 Byte | true, false |
※ 자료형 없이 변수 선언하기
- 자바 10부터는 "var"를 이용하여 자료형 없이도 변수를 선언하여 사용할 수 있다. 우측에 대입되는 값의 자료형으로 var의 자료형이 결정되는데, 한 번 결정된 자료형에 다른 자료형의 값을 넣으려고 하면 에러가 발생한다. 또한 지역 변수로만 사용할 수 있다.
1
2
3
4
5
6
|
var num = 10; // int num = 10;
var dNum = 10.0; // double dNum = 10.0;
var str = "hello"; // String str = "hello";
str = "test";
// str = 3; str 변수는 String 형으로 먼저 사용되었기 떄문에 정수 값을 넣을 수 없음
|
cs |
'Java' 카테고리의 다른 글
자바(Java) 상수 (0) | 2020.06.18 |
---|---|
문자 인코딩(Character Encoding) ASCII, ANSI, Unicode, UTF (0) | 2020.06.17 |
자바(Java) 정수, 실수의 표현방식 (0) | 2020.06.17 |
2진수(Binary), 8진수(Octal), 16진수(Hex) (0) | 2020.06.16 |
자바(Java) 주석 (0) | 2020.06.16 |