1. 상수
상수 : 변하지 않는 값
상수를 선언 : final 키워드 사용
package first;
public class Helloworld {
public static void main(String[] args) {
final int MAX_NUM = 100;
final float PI = 3.14;
PI = 3.15
}
}
PI의 값은 변하지 않음, 오류 발생
2. 리터럴
: 프로그램에서 사용되는 모든 숫자, 값, 논리 값 (ex. 10, 3.14, 'a', true)
-리터럴에 해당되는 값은 특정 메모리의 공간인 상수 풀에 있음
-필요한 경우 상수 풀에서 가져와 사용
-상수 출에 저장할 때 정수는 int, 실수는 double로 저장
-따라서 long이나 float 값으로 저장해야 하는 경우 식별자(L,l,F,f) 사용해야 함
3. 형 변환
자료형이 다를 때 서로 자료형이 일치하도록 발생하는 변환
1) 묵시적 형변환 : 자연스럽게 변환(작은 바이트 > 큰 바이트 / 정수 > 실수)
package first;
public class Helloworld {
public static void main(String[] args) {
byte bnum = 10;
int num = bnum;
System.out.println(num);
long lnum = 10;
float fnum = lnum;
System.out.println(fnum);
double dnum = fnum + num;
System.out.println(dnum);
}
}
bnum : 1바이트 / num : 4바이트 > 묵시적 형변환
lnum : 8바이트 / 리터럴(상수) : 4바이트 > 묵시적 형변환
fnum : 실수 / 10은 상수> 묵시적 형변환
num은 덧셈을 위해 float로 형변환 / fnum 과 num이 합쳐진 후 double로 형변환
2) 명시적 형변환 : 명시적으로 자료형을 붙여줘야 함
package first;
public class Helloworld {
public static void main(String[] args) {
int inum = 1000;
byte bnum = (byte)inum;
System.out.println(inum);
System.out.println(bnum);
}
}
이 때 inum은 자료형 자체가 바뀐 게 아니라 1000이란 값을 넘겨주기 위해 임시적으로 자료형을 붙인 것임
'JAVA' 카테고리의 다른 글
클래스와 객체-클래스 선언, 객체 생성 (0) | 2022.09.14 |
---|---|
제어 연산자 - 조건문과 반복문 활용 (0) | 2022.09.14 |
8, 10, 16 진수 (1) | 2022.09.01 |