Java

Java - 데이터 타입과 데이터 타입종류 (부제: 변수의 데이터 타입과 / 상수의 데이터 타입을 알아보자)

얄루몬 2021. 5. 14. 12:53


데이터 타입을 알아보기 전에 데이터의 크기를 알아보자 

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 형이라면 이 경우엔 사용 가능
        
    }
}