728x90
반응형
SMALL
변하지 않은 상수와 리터럴, 변수의 형 변환
상수
상수란 변수와 마찬가지로 데이터를 저장할 수 있는 메모리 공간을 의미합니다. 하지만 상수는 프로그램이 실행되는 동안 메모리에 저장된 값을 변경할 수 없습니다. 원주율, 1년 12개월 등을 상수로 할 수 있습니다. 상수를 사용하면 변하지 않는 값을 반복하여 사용하여 사용할 때 의미 있는 문자로 인식하기 쉽고 변하더라도 선언한 부분만 변경하면 되므로 여러 번 수정할 필요가 없습니다.
상수 선언하기
- final 예약어를 사용하여 선언합니다.
- 상수는 선언과 동시에 반드시 초기화해야 합니다.
- 예제
final int MAX_NUM = 100;
final int MIN_NUM;
MIN_NUM = 0;
System.out.println(MAX_NUM);
System.out.println(MIN_NUM);
// MAX_NUM = 1000; error
- 출력결과
100
0
리터럴
- 프로그램에서 사용하는 숫자, 문자, 논리 값을 말합니다.
- 변수와 상수와는 달리 데이터가 저장된 메모리 공간을 가리키는 이름을 가지고 있지 않습니다.
- 리터럴은 상수 풀에 있습니다.
- 정수 리터럴은 int로 실수 리터럴은 double로 저장됩니다.
- 정수의 범위가 넘어가는 경우는 L, l을 float로 사용하는 경우는 F, f를 식별자로 써줘야 합니다.
형 변환
- 서로 다른 자료형 간에 연산 등의 수행을 위해 하나의 자료형으로 동일하는 것입니다.
- 묵시적 형 변환(자동 형 변환)과 명시적 형 변환(강제 형 변환)이 있습니다.
- 바이트 크기가 작은 자료형에서 큰 자료형으로 형 변환은 자동으로 됩니다.
- 덜 정밀한 자료형에서 더 정밀한 자료형으로 형 변환은 자동으로 됩니다.
- 예제
int iNum = 10;
byte bNum = (byte)iNum;
System.out.println(iNum);
System.out.println(bNum);
int iiNum = 255;
byte bbNum = (byte)iiNum;
System.out.println(iiNum);
System.out.println(bbNum);
- 출력 결과
10
10
255
-1
- 10과 같은 수는 byte로 담을 수 있으나 255처럼 byte에 담을 수 없는 수를 대입하면 이상한 값이 출력됩니다.
- 예제 2
double dNum = 1.2;
float fNum = 0.9F;
int iNum1 = (int)dNum + (int)fNum;
int iNum2 = (int)(dNum + fNum);
System.out.println(iNum1);
System.out.println(iNum2);
- 출력 결과
1
2
728x90
반응형
LIST
'Java' 카테고리의 다른 글
[JAVA] 자바 - 반복문 (for, while, do-while, 중첩 반복문) (0) | 2021.11.19 |
---|---|
[JAVA] 자바 - 조건문 (if문, switch문) (0) | 2021.11.18 |
[JAVA] 자바 - 연산자 (산술, 복합대입, 증감, 관계, 논리, 조건, 비트) (0) | 2021.11.18 |
[JAVA] 자바 - 변수, 자료형 (0) | 2021.11.15 |
[JAVA] 자바 - Java 기초 (0) | 2021.11.14 |