JAVA 웹 개발 패키지 - 패스트캠퍼스/Chapter1

Java - 기본 자료형(primitive data type) - 정수,실수

giggs 2021. 12. 22. 12:06

 

 

 변수 - 

 

선언하게 되면 가질 수 있는 자료형이 다를 수 있다. (숫자, 문자, 실수 등등)

축약보다는 가독성과 이해성을 중요시하여 선언하자. ( int ns; 보다는 int numberOfStudent; / 길이는 상관 X )

표현할 수 있는 메모리의 size도 각각 다르게 되는데 그런 것들을 자료형 data type이라고 한다.

변수를 선언하기 위해서는 그 변수에 맞는 Data Type을 먼저 선언해서 같이 변수를 선언해 주어야 한다.

변수를 선언하면 해당되는 자료형의 크기 만큼 메모리가 할당

 

 

변수 이름은 영문자(대문자, 소문자)나 숫자를 사용할 수도 있고, 특수문자 중에는 $와 _만 사용 
(ex. count100, _master)

변수 이름의 시작은 숫자로 할 수 없음 ( ex. 27days(X), 1abc(X))

자바에서 이미 사용하고 있는 예약어는 사용할 수 없음 (while, break 등)

변수 이름은 프로그램내에서 사용되는 것이므로 그 용도에 맞고 가독성이 좋게 만드는것이 중요
ex) int numberOfStudent;

 

 

 


 

 

 

기본 자료형 (primitive data type)
정수 byte, short, int, long
실수  float, double
문자 char
논리형  boolean

 

 

 

자료형 (Data Type) - 정수

 

 

변수를 선언하면 해당되는 자료형의 크기 만큼 메모리가 할당

변수는 할당된 메모리를 가리키는 이름

예)  int level = 10; // 4바이트의 정수형 메모리가 level이라는 이름으로 할당되는 것이다.


 

기본 자료형(primitive data type)의 종류

 

int num = 4; // float num = 4;

같은 4byte지만 정수와 실수로 잡히는 것이 다르다.

 

byte : 1바이트 단위의 자료형, 동영상, 음악 파일, 실행 파일의 자료를 처리할 때 사용

short : 2바이트 단위의 자료형, 잘 안 쓰지만 C/C++ 언어와 호환 시 사용

 

int : 4byte 단위의 자료형 / 자바에서 사용하는 정수에 대한 기본 자료 형 

32비트 초과하는 숫자는 long 자료형으로 처리

 

long : 8byte 자료형 / 숫자 뒤에 L 또는 l 써서 형식 표시 / 대문자 L로 주로 씀 / l은 숫자 1과 헷갈릴 우려 

 

 

double : 실수 기본 자료 형 8byte

 


 

정수 자료형의 종류와 크기

 

 

n-1개 개념 이해

 

어떤 bit 가 3bit 이면 3bit로 표현할 수 있는 수는 0~7로 8개

[ 2^3-1] 까지 표현 가능 (0부터 시작했으므로 / 8은 표현 불가능)

 

 

 

정수 -  맨 앞에 부호비트가있다 - 양수 음수 n^-1  // 0-0 이 있다 n-1개까지 표현 가능

 

1byte=8bit

2^8=256 까지 표현 가능 

양수만 표현한다면  [ 2^8-1 ]  ▷ 255까지 표현 가능 

하지만 양수 음수 다 표현해야 하므로 [ -2^7 ~ 2^7 ] ▷  -128~128까지 표현 가능 

0 이 존재하므로 -1개 ▷ [ -2^7 ~ (2^7-1) ]   -128 ~ 127까지 표현 가능

1byte 는 -128 ~ 127 까지 표현 가능  

[ -2^(n-1) ~ (2^(n-1)-1) ]

 

 

short=2byte=16bit  (2^16 -> 양수 음수 2^n-1 -> 2^15)

[ -2^n-1 ~ (2^(n-1)-1) ]▷ -2^15 ~ (2^15-1) ▷ -32768 ~ 32767 까지 표현 가능  (65536개 표현가능 0 포함)

 

 

 

 

 

byte는 -128~127 까지 표현 가능

 

 

 

 

 

 

 

int와 long 에도 담지 못하는 크기의 숫자는

숫자 뒤에 L 추가하여 long 자료형으로 처리

 

 

 

 

 

 

 

 

 

 

GOOD ;)

 

 

 

 


 

 

자료형 (Data Type) - 실수

 

 

부동 소수점 방식

 

실수는 정수보다 정밀하기 때문에 정수와는 다른 방식으로 표현해야 한다.

 

 

◀ 부동 소수점 방식으로 실수 값

◀ 0.1 표현

 

 

지수부와 가수부로 표현한다

컴퓨터에서는 밑수를 2로 사용한다.

1.m x 2^-n 으로 표현 

 

 

 

 

정규화

 

가수가 밑수보다 작은 한 자리까지 가수로 표현되는 것

컴퓨터에서는 밑수가 2 이므로 정규화를 하게 되면 가수 부분의 첫 번째 자리 숫자는 항상 1 임

 

예시)

0.2 를 표현 시 0.4x2^-1 이것을 정규화하면 1.6X2^-3

 

 

 

 

float 형과 double 형

 

 

자바에서는 실수의 기본 타입은 double을 사용함

double = 8byte

 

 

 

 

 

 

 

리터널에서 불러온 실수 3.14

실수의 기본형은 double 

double은 8byte의 크기

float 는 4byte의 크기

 

오류남 float 타입으로 바꿔줘야 함

실수 뒤에 F or f 추가

 

 

 

 GOOD :)

 

 

 

 

 

 

부동 소수점 방식의 오류

 

지수와 가수로 나타내는 부동 소수점 방식에서는 

0을 표현할 수 없기 때문에 약간의 오차가 발생할 수 있다.

 

 

 

 

 

 

 

약간의 오차가 발생함에도

 

훨씬 많은 범위(range)의 실수를

나타낼 수 있기 때문에 사용

 

 

 

 

 

 

 

 

 

 

 


 

 

 

review

변수, 정수, 실수

자바 변수는 타입형을 먼저 선언 후 변수를 선언해 주는 것이 새로웠다.
타입형 별로 차지하는 메모리 size가 다르고 
표현할 수 있는 양과 범위가 다르고
작은 쪽에서 큰 쪽으로는 문제가 되지 않지만
반대의 경우에는 오류가 나는 점도 배웠다.
out of range

타입 형만 생각하는 것이 아니라 그 안에서도
타입형 별 크기까지 생각해야 해서 더 복잡해졌다.
type mismatch

정수 : byte / short / int / long
실수 : float / double
리터널 기본 값 : int 와 double

GOOD :)