[JAVA] 상수(Constants) (자바 독학하기 4)
상수(常數)는 값이 변하지 않는 수를 의미한다.
그러나 자바에서는 한번 값이 정해지면 이후로는 변경이 불가능한 변수도 상수라 칭한다.
1. 상수
변수를 선언할때 앞에 final 을 붙이면 상수가 된다.
다음과 같이 final 이 붙은 상수 A 의 값을 변경하려 하였을 때 eclipse 에서는 자동적으로 에러를 띄워준다.
2. 정수형 상수의 표현
정수의 2진수, 8진수, 10진수, 16진수는 다음과 같이 표현한다.
2진수 : 0b1110 or 0B1110
8진수 : int A = 016
10진수 : int A = 14
16진수 : int A = 0xE
위의 3가지 진수 표현은 모두 같은 14값을 나타낸다.
계산기를 이용하면 쉽게 동일한 값을 비교할 수 있다.
또한 다음과 같이 숫자 사이에 _ 를 넣는 것을 자바는 허용하고 있다.
3. 실수
실수인 double, float 을 구분하고자 하면 숫자 뒤에 d,D 또는 f,F 를 붙이면 된다.
또한 10^3 과 같은 값을 표현하고자 한다면 1e3 과 같이 표현이 가능하다.
10^(-3) 이라면 1e-3 으로 표현 할 수 있다.
소수점의 경우
0.1 -> .1
3.0 -> 3.
0.5f -> .5f
5.0f -> 5.f
로 표현이 가능하다.
4. 이스케이프 시퀀스 (escape sequence)
이스케이프 시퀀스는 유니코드 문자들 중 키보드로 입력하기 어려운 문자의 표현을 위한 것이다.
'\b' -> 백스페이스 문자
'\t' -> 탭 문자
'\\' -> 백슬래시 문자
'\'' -> 작은 따옴표 문자
'\"' -> 큰 따옴표 문자
'\n' -> 개 행 문자 (enter)
'\r' -> 캐리지 리턴 (carriage return) 문자
5. 형 변환
자바는 int 형과 double 형의 계산 시에 자동적으로 형 변환을 해주고 있다.
이처럼 서로 다른 형을 자동적으로 더 상위의 형으로 변경해주는데 이는 아래를 참고하자
자동 형 변환이 아닌 수동으로 형 변환도 가능하다.
이를 명시적 형 변환 (Explicit Conversion)이라 하는데 방법은 다음과 같다.
double A = 5.23;
int B = (int)A;
이와 같이 형 변환을 하고자 하는 값의 앞에 괄호를 사용해 바꾸고자 하는 형을 써주면 된다.
좌변과 형보다 우변의 형을 더 상위의 형으로 적을 경우 다음과 같이 에러가 나오는 것을 명심하자.