bit 0과 1로 이루어진 단위 - 컴퓨터에서 제일 작은 단위 (8bit -> 1byte)
byte (1024 byte -> 1kilobye)
숫자
- 정수 - int ...
- 실수 - double ...
효율적인 프로그램 작성을 위해서 숫자를 정수 실수로 나누고 또 이 안에서 세부적인 구분을 한다.
대부분은 int를 쓴다. 처리속도도 빠르고 충분히 수를 담을만큼 크기 때문이다.
그러나 정수형 데이터타입을 쓸 때 int형보다 더 적합하게 쓰이는 다른 정수형 데이터타입이 있다면 그때 사용하면 됨.
상수란? 변하지 않는 수를 의미한다. 그렇다면 변수는 변화 가능한 수를 의미한다. 고유의 값을 변화시킬 수 없는 것을 상수라고 한다.
변수 <-> 상수
상수의 데이터 타입
public class ConstantDemo {
public static void main (Stringp[] args) {
double a = 2.2;
}
}
double형이 아닌 int형이 들어가있는 경우엔 변수와 상수가 다르기 때문에 오류가 일어나고
float형을 사용하고 싶을 때 float a = 2.2F라고 설정해주면 된다.
그 이유는 F라는 문자가 float 타입이라고 명시해주기 때문에 가능한 것이다.
결론: 변수와 상수는 둘 다 데이터 타입이 있고 기본적으로 실수는 double형을 쓴다. float형을 쓰고 싶을 땐 F를 붙여서 쓰자.
public class ConstantDemo {
public static void main (Stringp[] args) {
int a = 2147483658;
}
}
<에러가 발생>
public class ConstantDemo {
public static void main (Stringp[] args) {
long a = 2147483658;
}
}
<에러 발생> long으로 데이터타입을 바꿔도 에러는 여전하다.
그 이유는 상수의 데이터타입이 default값인 int 로 지정되어있기 때문이다.
변수의 데이터 타입과 상수의 데이터 타입을 맞춰주면 된다.
public class ConstantDemo {
public static void main (Stringp[] args) {
long a = 2147483658L;
}
}
byte sort 의 경우엔 변수의 int데이터 타입을 사용하는 것을 허용하기 때문에 변수가 바이트나 숏인 경우에 상수 변수가 int 형이라면 이 경우엔 사용 가능하다.
public class ConstantDemo {
public static void main (Stringp[] args) {
long a = 2147483658L;
byte b = 100; //변수가 바이트나 숏인 경우에 상수 변수가 int 형이라면 이 경우엔 사용 가능
sort c = 200; //변수가 바이트나 숏인 경우에 상수 변수가 int 형이라면 이 경우엔 사용 가능
}
}