Java 에서 상수란 무엇일까요?

 

상수란!!

: 자료형을 기반으로 메모리 공간에 저장되어 있는 값을 이야기 합니다. 그렇기 때문에  이름이 존재하지 않으며 메모리에 저장된 값을 변결 시킬 수 없습니다.

 

예를 들어 data1 = 5489; 이란 변수의 값을 넣었습니다.

여기서 5489 도 메모리에 저장이 되어 있고, data1의 값도 메모리에 저장이 되었습니다.

Data1 4byte를 할당하고 5489의 값을 할당하여 값을 저장합니다. Java가 할당을 해준것 입니다.  

상수 (수학 : 변하지 않는 값) - 5489의 자리를 알 수 없기 때문에 변경시킬 수 없습니다.

Data1 은 언제든 변할 수 있고, 5489와 같이 기본적으로 메모리에 저장되어 있는 값은 변하지 않습니다.

 

 

● 상수 자료형의 사용 (대표)

 

- 정수의 경우 4byte : int

 

- 실수의 경우 8byte : double

 

- 문자의 경우 2byte : char

 

- 참과 거짓의 경우 1byte : boolean(0이 아니면 : true , 0인 값 : false)

 

 

● 상수를 넣을 때 주의할 점!! 

 

 

- 정수의 경우

int num = 3000000000; int의 범위를 넘어서서 error 가 일어납니다, 
long num = 3000000000; -- error
long num = 3000000000L; 

- long을 보고 8byte 메모리를 할당해주지만 상수는 기본적으로 int의 형태로 저장되어지기 때문에 30억이라는 수가 int의 범위를 넘어서서 error 를 일으킵니다.

- 문제를 해결하기 위해서는 상수의 값을 long의 값으로 할당해줍니다. 그리고 상수의 뒤에 (L,l) 을 넣어줍니다.

 

 

- 실수의 경우

 float pi = 3.14 ; -- error

- error 실수형 상수는 double으로 기본적으로 할당하기 때문에 8byte 의 데이터를 4byte의 데이터 안에 넣으려고 하니깐 데이터 손실 할수있기 때문에 error를 일으킵니다.

 

- 해결점

1) double 의 형태를 float 형으로 바꿔줍니다.

2) 상수 뒤에(F,f)을 넣어줍니다.

1) double pi = 3.14;

2) float pi = 3.14F;

 

'빅데이터 > JAVA' 카테고리의 다른 글

[JAVA] 자료형변환(Type Casting)  (0) 2020.04.22
[JAVA] 연산자 (Operator)  (0) 2020.04.21
[JAVA] 변수(Variable)  (0) 2020.04.20
[JAVA] Java 기본 형태 및 기초  (0) 2020.04.20
[JAVA] 이클립스(eclipse) Download  (0) 2020.04.17

+ Recent posts