목차
https://opentutorials.org/course/1223/5375
데이터 타입
컴퓨터에 저장되는 정보의 가장 작은 단위 = bit
데이터 타입 | 데이터 종류 | 데이터 크기 |
논리형 | boolean | 1 byte |
문자형 | char | 2 byte |
정수형 | byte | 1 byte |
short | 2 byte | |
int | 4 byte | |
long | 8 byte | |
실수형 | float | 4 byte |
double | 8 byte |
논리형
: boolean형의 기본값은 false이다.
문자
: char 타입의 변수는 단 하나의 문자만을 저장할 수 있다.
문자가 아닌 '문자의 유니코드(정수)'가 저장된다.
'A'의 유니코드는 65이니까 char 에는 65가 저장된다.
유니코드를 알고 싶을 때 아래를 참조할 것!
// 문자 -> 유니코드 (문자 인코딩)
char ch = 'A';
int code = (int)ch;
// 유니코드 -> 문자 (문자 디코딩)
int code = 65;
char ch = (char)code;
정수형
: 기본 자료형은 int 형이다.
n비트로 표현할 수 있는 정수의 개수 : 2^n개
범위 : -2^n ~ 2^n-1 (0도 양수에 포함된다)
S (부호비트) | n-1 bit |
첫 번째 비트 : 부호 비트
나머지 : 값을 표현하는 데 사용한다.
실수형
float = 4byte , (정밀도 7자리)
S (1 bit) | E(8 bit) | M(23 bit) |
double = 8byue, (정밀도 15자리)
S (1 bit) | E(11 bit) | M(52 bit) |
실수형은 값을 부동 소수점수의 형태로 저장한다.
부동소수점수는 부호, 지수, 가수로 이루어져있다.
기호 | 의미 | 설명 |
S | 부호 (Sign bit) | 0이면 양수, 1이면 음수 |
E | 지수 (Exponent) | 부호 있는 정수 float : -127 ~ 128 double : `1023 ~ 1024 |
M | 가수 (Mantissa) | 실제값을 저장하는 부분 (10진수) float : 7 자리 double : 15자리 |
(+실수형은 정수형과 달리 오차가 발생할 수 있다는 단점이 있다)
https://eboong.tistory.com/564?category=1019301
오버플로우 (overflow)
: 변수의 값이 표현 범위를 벗어나는 것을 의미한다.
정수형에서 최대값에 1을 더하면 최소값이 되고, 최소값에서 1을 빼면 최대값이 된다.
실수형에서 오버플로우가 발생하면 변수의 값은 무한대가 된다.
언더플로우 (underflow)
: 실수형으로 표현할 수 없는 아주 작은 값이 되는 것을 의미한다.
이때 변수의 값은 0이 된다.
형변환
: 데이터의 타입을 변경하는 것을 의미한다.
(타입) 피연산자
기본형에서 boolean을 제외한 나머지 타입들은 서로 형변환이 가능하다.
기본형과 참조형간의 형변환은 불가능하다.
(1) 자동 형변환
: 컴파일러가 생략된 형변환을 자동적으로 추가한다.
표현범위가 좁은 데이터 타입 -> 넓은 데이터 타입으로의 변환만 허용된다.
(2) 수동 형변환
> 자동 형변환이 적용되지 않는 경우!
float a = (float)100.0;
int b = (int)100.0F;
https://eboong.tistory.com/551?category=1019301
'여니의 프로그래밍 study > Java' 카테고리의 다른 글
[Java] 조건문 , 반복문, 배열 (0) | 2022.07.04 |
---|---|
[Java] 문자열 생성시 String과 new String()의 차이 (0) | 2022.07.04 |
[Java] 연산자 (+증감 연산자, 비교 연산자, 논리 연산자) (0) | 2022.07.04 |
[Java] 숫자와 문자, 문자열 (0) | 2022.07.04 |
[Java] 객체 지향 프로그램, 객체 지향 특징 (+오버라이딩 및 오버로딩) (0) | 2021.12.27 |