티스토리 뷰

Programing/JAVA

JAVA 자바 - 데이터 타입

alcmskfl17 2020. 7. 28. 23:55

데이터 타입은 크게 4종류가 있다.

 

정수형 byte, short, int, long

실수형 float, double

논리형 boolean

문자형 char


정수형실수형의 변수는 타입이 여러개가 있는데 변수의 역할은 다 똑같고 크기 할당량만 다를 뿐이다.

 

출처: https://blog.naver.com/alcmskfl17/221722609217

표로 정리하자면 다음과 같다.

 

보통 정수형은 int를 실수형은 float을 많이 사용하는데

그 이유는 규모가 큰 시뮬레이션을 돌리는 것이 아니라면 32bit가 넘어가지 않기 때문이다.

 

각 데이터 별로 크기를 초과하는 데이터를 입력받으려고 시도한다면 당연히 에러가 날 것이다.

class Testblog{
	public static void main(String args[]){
		byte a = 128;		
	}
}

 

정수형 byte-128 ~ 127 까지 수용 가능하지만

코드에서는 그 범위를 초과하는 128을 넣었기 때문에 에러가 발생한다.

그러므로 변수 타입을 설정 할 때는 프로그램이 어떤 수를 출력하게 될지 모든 가능성을 생각하고 그것을 수용할 수 있는 타입으로 설정하는 것이 좋다.

※ 데이터 크기가 최대치인 무조건 long이나, double을 사용하지 않는 이유는 자원의 낭비를 막기 위해서다.

 


논리형은 true 또는 false 라는 참 거짓 두 가지의 값만 받을 수 있다.

따라서 조건문에 작성에 활용되는 경우가 많다.

 

 

자바를 배우면서 하는 실수가 있는데 true, false를 입력 할 때 ""로 묶으면 안된다.

true와 false는 문자열이 아니기 때문이다.

 

따라서

class Testblog{
	public static void main(String args[]){
		boolean isTure = "true";
	}
}

이렇게 코딩을 했을 경우에는 에러가 발생한다.

논리형은 오직 true 또는 false 만 입력 받을 수 있다는 사실을 기억하자.

 


문자형은 조금 특이한 녀석이다 일반적으로 문자를 입력받는데 ''(단일 인용부호)로 입력받으려 아스키코드나 유니코드로도 입력 받을 수 있다.

이게 무슨 소리인지 자세히 알아보면

class Testblog{
	public static void main(String args[]){
		char a = 'a';
		char b = 97;
		System.out.println(a);
		System.out.println(b);
	}
}

변수 a와 b 둘다 문자형 char 타입이다.

a 에는 'a'를 넣었으니 당연히 a가 나오겠지만

b 에는 97이라는 숫자를 넣었다.

 

결과는aa가 출력된다.

 

어떻게 된 것일까?

 

문자형 char는 문자에 해당하는 코드(아스키코드, 유니코드)가 있다.

그러니까 음... 일종의 바코드라고 생각하면 편하다.

바코드를 생각해 보자 판매점에서 라면의 바코드는 1010 이라고 가정하면

1010를 찍으면 라면으로 인식되는 것과 같다고 할 수 있다.

저기서 97은 아스키코드의 'a'에 대응하는 값

즉, 'a'의 아스키코드 버전의 바코드라고 할 수 있다.

 

 


관련글

 

아스키코드표
https://alcmskfl17.tistory.com/entry/%EC%95%84%EC%8A%A4%ED%82%A4%EC%BD%94%EB%93%9C%ED%91%9C-ASCII-Code-Table

'Programing > JAVA' 카테고리의 다른 글

자바 오버로딩과 오버라이딩의 차이점은?  (0) 2020.08.20
[JAVA] 자바 배열 선언  (0) 2020.07.30
[JAVA] 자바 this, super  (0) 2020.07.29
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함