티스토리 뷰
데이터 타입은 크게 4종류가 있다.
정수형 byte, short, int, long
실수형 float, double
논리형 boolean
문자형 char
정수형과 실수형의 변수는 타입이 여러개가 있는데 변수의 역할은 다 똑같고 크기 할당량만 다를 뿐이다.
표로 정리하자면 다음과 같다.
보통 정수형은 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'의 아스키코드 버전의 바코드라고 할 수 있다.
관련글
'Programing > JAVA' 카테고리의 다른 글
자바 오버로딩과 오버라이딩의 차이점은? (0) | 2020.08.20 |
---|---|
[JAVA] 자바 배열 선언 (0) | 2020.07.30 |
[JAVA] 자바 this, super (0) | 2020.07.29 |
- Total
- Today
- Yesterday
- 티스토리
- 유튜브오류
- 유튜브ID에러
- 부모클래스
- 7일차
- 크롬브라우저
- 콜백함수
- 탭복구
- 직접유입
- 알뜰폰
- LinkedList
- 인터넷기록
- 크롬
- 우클릭 방지
- ASCII Code Table
- 자급제폰
- 셀프개통
- 한글인식
- 배열선언
- 방문자수
- 과일꿈
- 자바
- 1366
- 아스키코드표
- 도망가는꿈
- 자식클래스
- 방문기록
- 자급제
- 재생id
- 애드블록
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |