티스토리 뷰

[자료형]

 

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

댓글