자바의 정석 Chap2.1~3 기본형 변수, 형변환(캐스팅, casting)

2022. 9. 29. 01:16책 정리 [ 내가 다시 보기위한 ]/책[자바의 정석] 정리

반응형

2.1 기본형 변수

기본형 변수에는 모두 8개의 타입(자료형)이 있다. 

  1 byte 2 byte 4byte 8 byte
논리형 boolean      
문자형   char    
정수형 byte short int (기본형) long
실수형     float double (기본형)

 

* 논리형을 제외한 나머지 7개 타입은 서로 변환이 가능, 연산도 가능

* 문자형 char는 문자를 내부적으로 정수값 코드로 저장 

* 왠만해선 int 와 float를 사용 하자 

 

자료형   저장 가능한 값의 범위  크기 
bit byte
byte  -128~127 (-2^7 ~ 2^7-1) 8 1
short  -32,768~32,767 (-2^15~2^15-1) 16 2
int  -2^31~ 2^31-1 32 4
long  -2^63~2^63-1 64 8

int 형은  2^32개 , 대략 10자리 수의 값을 저장 할 수 있다. -1~-2^31, 0, 1~2^32-1 을 합하면 2^32개 이다. 

 

 

2.2 논리형 boolean 

기본값 false

 

2.3 문자형 char

C언어에서 문자형의 경우 1byte( ASCII 코드), java에서는 유니코드 문자체계 사용하므로 2byte

A -> 10진수로 65 

char 형 변수에 저장되는 값은 부호없는 정수의 형태로 저장 된다.  문자 'A' 의 유니코드인 65가 저장된다. 

char 형 변수는 단 하나의 문자밖에 저장할 수 없기 때문에 여러 문자를 저장하기 위해서는 String 클래스를 사용 해야 한다. 

 

2.4 정수형 -byte, short, int, long

* long 타입의 리터럴에는 접미사 l 또는 L을 붙인다. 리터럴에 접미사가 붙어있지 않으면 int 타입으로 간주.(기본형이 int 이므로)

* 리터럴 - 값 or 데이터 라고 생각하면 됨 

* 정수형 변수는 자신이 저장할 수 있는 범위를 넘어서면 최소값부터 다시 반복한다. 

만약 270을 세라고 한다면 

0,1,2,3,,,,,,,126,127,-128,-127,-126,,,,,,-1,0,1,,,,,13,14

 

 

 

2.5 실수형 - float, double 

* float 타입의 리터럴에는 접미사 f 또는 F 을 붙인다. 리터럴에 접미사가 붙어있지 않으면 double 타입으로 간주. (기본형이 double 이므로) 

 

3. 형변환 

3.1 형변환 이란? 변수 또는 리터럴의 타입을 다른 타입으로 변환 하는 것 

3.2 형변환 방법 - 기본형은 기본형으로만, 참조형은 참조형으로만 형변환이 가능하다. 

 

int score = (int)85.4 // double형 값을 int형으로 변환하여 score에 85가 저장됨 
// 반올림하는게 아니라 그냥 소숫점 아래가 잘리는 것임

3.3 기본형의 형변환

* 작은 자료형에서 큰 자료형으로의 변환은 값의 손실이 없으므로 캐스트 연산자 생략해도 됨 

* 큰 자료형에서 작은 자료형으로 변환은 값이 손실될 가능성이 있으므로 반드시 캐스트 연산자를 이용하여 명시적으로 형변환 하자.

* 같은 크기 일지라도 실수형이 정수형보다 더 큰 표현볌위를 갖기 때문에 이 점을 고려할 것.

 

반응형