티스토리 뷰
[자료형]
1. 실수형
<ex1>
float ft1 = 1.234; (X)
자바의 실수 기본형은 double이므로 1.234는 double형으로 인식된다.
하지만 그 값을 담는 ft1이라는 변수가 float형이기 때문에 범위가 작은 float형에 double형의 값을 저장하려 하면 오류가 발생한다.
그러므로 이 경우 float ft1 = 1.234f;로 수정해야 한다.
<ex2>
float ft2 = 1234; (O)
1234는 정수형이고, 실수형은 정수형보다 큰 범위를 갖기 때문에 실수형은 정수형의 값을 담을 수 있다.
2. 문자형
C/C++에서는 아스키 코드를 사용하여 char형이 1byte였지만,
Java에서는 유니코드 체계를 적용하여 char형이 2byte이다.
※ 16진수로 표현하기
: \u0041 = 4*16^1 + 1*16^0 = 65
ex)
char ch = '\u0041'; // ch = 'A'
System.out.println(ch); // A 출력
System.out.println(ch+1); // 66 출력, 자동 형변환
3. 논리형
true (O), false (O) , True (X), False (X)
true가 1을 의미하지 않으며, false가 0을 의미하지 않는다.
4. 참조형(Reference type)
String str = new String("HelloJava"); <=> String str = "HelloJava";
[ 형 변환 ]
1. 기본형과 참조형 사이의 형변환은 불가능하다.
2. 큰 자료형을 작은 자료형으로 형 변환할 경우 데이터 손실이 발생할 수 있다.
ex)
(int)1.6f // 1.6이라는 실수가 int형으로 형 변환하여 1이 됨 (데이터 손실)
3.
작은 자료형 -> 큰 자료형 형변환 : 자동 형변환 (작은 걸 큰 데에 담는다)
큰 자료형-> 작은 자료형 형변환 : 강제 형변환 (큰 걸 작은 데에 담는다)
ex)
(크기 : byte < int < long)
byte bt = 10;
long ln = bt; // 자동 형변환
int i = (int)ln; // 강제 형변환
4. 참조변수의 형변환
상속관계 간의 형변환만 가능하다!
자손타입 -> 부모타입 형변환 (UpCasting) : 자동 형변환
부모타입 -> 자손타입 형변환 (DownCasting) : 강제 형변환
[시프트 연산자]
1. >>
앞에 빈 칸은 MSB로 채운다.
2. <<
뒤에 빈 칸은 0으로 채운다.
3. >>>
앞에 빈 칸은 0으로 채운다. (자바에만 있는 연산자)
'Java, JavaScript' 카테고리의 다른 글
[Java] System.in , Scanner 입출력 (0) | 2019.04.24 |
---|---|
[Java] main 입출력 (0) | 2019.04.24 |
[Java] 배열 (0) | 2019.04.24 |
[Java] 자바 파일의 컴파일과 실행 (0) | 2019.04.22 |
[Java] EditPlus 자바환경 설정 (0) | 2019.04.22 |