기본 자료형
자바 컴파일러에 의해서 해석되는 자료형
논리형
(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로 끌어내린다.
(명시한 자료형) = 캐스트 연산자라고 한다.
댓글