상수(constant)
- 상수는 변하지 않는 수 ex) 원주률 3.14, 1년 12개월 등
- final 예약어를 사용하여 선언(나중에 바꿀 수 없음, 선언한 곳에서만 바꿀 수 있음)
- 상수를 사용하면 변하지 않는 값을 반복하여 사용할 때 의미있는 문자로 인식하기 쉽고
혹, 변하더라도 선언한 부분만 변경하면 되므로 여러부분을 수정할 필요가 없음 - 다른 변수들과 비교 위해 대문자로 많이 씀
리터럴(literal)
- 프로그램에서 사용하는 숫자, 문자, 논리값을 뜻함
- 리터럴은 상수 풀(constant pool)에 있음 (상수 풀/데이터 영역 : 프로그램이 메모리에 올라온 순간 영역을 잡는다.
- 그 영역을 이르며, 리터럴이나 static 변수가 들어간다.)
- 정수 리터럴 = int / 실수 리터럴 = double 로 저장
정수의 범위가 넘어가는 경우 = L,l / float로 사용 = F,f 식별자를 써줘야 함
형 변환 (type conversion)
- 서로 다른 자료형 간에 연산등의 수행을 위해 하나의 자료형으로 통일하는 것
- 묵시적 형 변환(explicit type conversion, 자동 형 변환)
- 명시적 형 변환(implicit type conversion, 강제 형 변환)
- 바이트 크기가 작은 자료형에서 큰 자료형으로 형 변환은 자동으로 이루어 짐
- 덜 정밀한 자료형에서 더 정밀한 자료형으로의 형 변환은 자동으로 이루어 짐(정수 -> 실수)
byte bNum = 10;
int iNum = bNum; //문제 없음
int iNum1 = 20;
float fNum = iNum2;
int iNum = 10;
byte bNum = (byte)iNum; //자료형 큰 것 -> 작은 것 : 데이터 유실
double dNum = 3.14;
int iNum2 = (int)dNum;
예제
package ch10;
public class TypeConversion {
public static void main(String[] args) {
int iNum=255;
byte bNum=(byte)iNum;
double dNum = 1.2;
float fNum = 0.9F;
//강제 캐스팅하기
int iNum1 = (int)dNum + (int)fNum; //cast를 사용해 소수점 이하를 없애버림
int iNum2 = (int)(dNum + fNum); //더한 뒤에 cast
System.out.println(iNum1);
System.out.println(iNum2);
}
}
'JAVA' 카테고리의 다른 글
1-10.JAVA 기초 - 연산자들2(관계/논리) (0) | 2022.01.06 |
---|---|
1-9.JAVA 기초 - 연산자들(대입/부호/산술/복합대입/증감연산자) (0) | 2022.01.06 |
1-7.JAVA 기초 - 자료형(논리형,자료형 없이 변수 사용 방법) (0) | 2022.01.06 |
1-6.JAVA 기초 - 자료형(문자) (0) | 2022.01.06 |
1-5.JAVA 기초 - 자료형(실수) (0) | 2022.01.06 |