(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)

 

변수란 '변경이 가능한 수' 라는 의미로 상수와 반대되는 의미이다. 데이터(상수)를 저장할 수 있는 메모리 공간에 붙여진 이름이나, 메모리 공간 자체를 말한다. 변수는 종류에 따라 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

(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)

 

컴퓨터는 모든 데이터를 처리할 때 2진수(0과 1)를 사용하기 때문에, 정수와 실수를 표현하는데 있어서 우리가 일상생활에서 사용하는 방식과는 다른 방식을 사용한다.

 

■ 정수의 표현방식

1) 부호 비트

- 1바이트의 공간에 정수를 저장하려 할 때, 맨 앞의 1비트는 부호비트 MSB(Most Significant Bit)로서 양수일 경우 0, 음수일 경우 1로 표현한다. 나머지 7비트는 데이터의 크기를 표현하는데 사용한다.

2) 음수의 표현

- 음수를 표현하기 위해 부호비트 MSB(Most Significant Bit) 1로 바꾸어 줄 경우, 양수와 음수의 덧셈 결과가 0이 나오지 않는다

- 음수를 표현할 때에는 아래와 같이 1의 보수를 취하여 0 1의 값을 모두 바꾸고, 그 결과에 1을 더해주는 2의 보수 방식을 사용한다.

■ 실수의 표현방식

- 컴퓨터는 m과 e로 나누어 실수를 표현한다. 이 방식을 사용하면 오차가 존재하는 단점이 있지만, 더 넓은 범위의 실수를 표현할 수 있어서 효율적이다.

 

'Java' 카테고리의 다른 글

문자 인코딩(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
자바(Java) 컴파일 과정  (0) 2020.06.16

(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)

 

■ 2진수(Binary)

- 2개의 수(0, 1)로 표현

- 10진수→2진수 : 몫이 0이 될 때까지 2로 나누며 나머지를 구하고, 역순으로 표시한다.

- 2진수→10진수 : 뒤에서부터 차례대로 2^0, 2^1, 2^2...을 곱해서 더해준다.

- 2진수 덧셈 : 각 자리를 더해서 2가 되면 1을 올려주고, 0을 표시한다.

■ 8진수(Octal)

- 8개의 수(0~7)로 표현

- 10진수→8진수 : 몫이 0이 될 때까지 8로 나누며 나머지를 구하고, 역순으로 표시한다.

- 8진수10진수 : 뒤에서부터 차례대로 8^0, 8^1, 8^2...을 곱해서 더해준다.

- 2진수8진수 : 뒤에서부터 3자리씩 끊어서 2^0, 2^1, 2^2을 곱해서 더해준다.

- 8진수2진수 : 각 자리를 몫이 0이 될 때까지 2로 나누며 나머지를 구하고, 역순으로 표시한다.

- 8진수 덧셈 : 각 자리를 더해서 8이 되면 1을 올려주고, 0을 표시한다.

■ 16진수(Hex)

- 16개의 수(0~9, A~F)로 표현 (A : 10, B : 11, C : 12, D : 13, E : 14, F : 15)

- 10진수16진수 : 몫이 0이 될 때까지 16으로 나누며 나머지를 구하고, 역순으로 표시한다.

- 16진수10진수 : 뒤에서부터 차례대로 16^0, 16^1, 16^2...을 곱해서 더해준다.

- 2진수16진수 : 뒤에서부터 4자리씩 끊어서 2^0, 2^1, 2^2, 2^3을 곱해서 더해준다.

- 16진수2진수 : 각 자리를 몫이 0이 될 때까지 2로 나누며 나머지를 구하고, 역순으로 표시한다.

'Java' 카테고리의 다른 글

자바(Java) 변수  (0) 2020.06.17
자바(Java) 정수, 실수의 표현방식  (0) 2020.06.17
자바(Java) 주석  (0) 2020.06.16
자바(Java) 컴파일 과정  (0) 2020.06.16
자바(Java) Hello, World!  (0) 2020.06.16

+ Recent posts