본문 바로가기
Java/✿operator*연산자

[Java] 💻자료형, 형 변환

by W_W_Woody 2021. 11. 1.

기본 자료형


자바 컴파일러에 의해서 해석되는 자료형

 

논리형
(true, false) / 크기: 1byte
문자형
char / 크기: 2byte
char c2 = 65;//자료형이 문자형(char)이므로 A의 아스키 코드값 65를 대입 시, A 출력 
System.out.println("c2 : " + c2);
		
char c3 = '\u0041'; // A의 유니코드값, (\u(->유니코드 표시)) + (16진수) 
System.out.println("c3 : " + c3);
		
char c4 = '자';
System.out.println("c4 : " + c4);
		
char c5 = '\uc790';// '자'의 유니코드값, 한글은 오로지 유니코드값으로만 표현 가능하고 아스키코드X
System.out.println("c5 : " + c5);

아스키코드: 1바이트로 표현 가능한 문자를 대체한다 (한글을 제외한 키보드에있는 모든 문자가 가능)

 

정수형
byte / 크기: 1byte / 일반적인 연산시 사용적고 입출력,파일제어 시 많이 사용
short / 크기: 2byte
int / 크기: 4byte
long / 크기: 8byte / 은행프로그램 제작 시 사용(조, 경 단위) 
long lg = 1000L;
//int와 구별하기 위해 자료형L 명시한다.
//(에러는 나지 않지만 형식적으로 long형을 표기하기 위함)

 

실수형

byte가 높을수록 정밀도가 높다
실수형에서는 double이 기본형이다.

float / 크기: 4byte / 끝에f 붙여준다
float f1 = 4.5f;
//float f1 = 4.5; double로 인식하여 에러
double / 크기: 8byte

 

참조 자료형


자바 API에서 제공되거나 프로그래머에 의해서 만들어진 클래스를 자료형으로 선언하는 경우

클래스 타입, 인터페이스 타입, 배열 타입, 열거 타입

문자열 표시
String / 기본자료형이 아니라 참조자료형!
기본자료형은 소문자로 시작
참조자료형은 대문자로 시작

 

확장 특수 출력 문자


\"   \'            작은 따옴표, 큰 따옴표 출력할 때 앞에 역슬래시\ 를 붙여서 일반문자로 바꿔줘야 출력이 가능하다.
" '' "             문자열"" 안의 특수문자 ''는 자동으로 일반문자로 변환된다.

\\                  \를 출력하고 싶을 때 역시 앞에\ 를 붙인다.

\t                  수평 탭으로 일정한 간격을 띄운다.(tab)

\b                 백스페이스로 뒤로 한 칸 후진한다.(backspace)  

\n                 엔터 키의 기능을 갖는다. 줄을 바꾼다.(new line)

\0                 널(null)문자를 의미한다.

\u16진수   16진수에 해당하는 유니코드.

 

형 변환


자료형이 같아야 연산이 가능하다. 그래서 형변환을 해야하는데 

그 형변환에는 자동 형변환과 강제 형변환이 있다.

 

묵시적 형변환 (자동 형변환)

작은 자료형에서 큰 자료형으로 승격이 일어나는 형태

정보의 손실이 전혀 없으며 

자동적으로 발생

byte b1 = 127;
byte b2 = 127;
//byte result1 = b1 + b2; //254는 byte형에 들어갈 수 없으므로 에러 (-128 ~ 127 (8bit))
int result1 = b1 + b2; //32bit(4byte)미만 byte형 데이터를 연산하면 32bit로 승격

 

명시적 형변환 (강제 형변환)

큰 자료형에서 작은 자료형으로 강등이 일어나는 형태

정보의 손실이 발생할 수도 없을 수도 있음.

short s1 = 1000;
short s2 = 2000;
//int result2 = s1 + s2;
short result2 = (short)(s1+s2);//결괏값에 대해서(int) short로 끌어내린다.

(명시한 자료형) = 캐스트 연산자라고 한다.

 

 

댓글