[형 변환]

 

Data Type Promotion 자동 형 변환

  1. 작은 자료형 값을 큰 자료형에 넣을 때 자동으로 형 변환이 일어남
  2. 실수형은 무조건 정수형보다 큼

 

Data Type Casting 강제 형 변환

  1. 큰 자료형 값을 작은 자료형에 넣을 때는 Casting 해 줘야 함
  2. 데이터 손실 일어남
  3. char형은 음수를 포함하지 않기 때문에 int와 short보다 범위가 크거나 작다고 할 수 없음

예제 코드 1 ▽

    1 	byte b = 10;
    2 	short s = 20;
    3 	char c = 'A';
    4 	int i;
    5 	float f;
    6 	long l = 100L;
    7 			
    8 	s = b;
    9 	c = (char) b;
   10 	s = (short) c;
   11 	c = (char) s;
   12 	i = 100;
   13 	l = 500; // 자동 Promotion
   14 	f = l; // 실수형은 무조건 정수형보다 크기 때문에 에러 X
   15 	f = 5.11f;
   16 			
   17 	double d;
   18 	
   19 	d = 400f; // 자동 Promotion

예제 코드 2

 

[결과]

결과 : 1020

결과 : 30

결과 : 103.14

결과 : 13.14

결과 : 3.14A

결과 : 68.14

결과 : AB

결과 : 131 -> char는 사실상 정수이기 때문에 정수처럼 계산됨

결과 : ? -> 131에 해당하는 ASCII 코드가 '?'임

    1 	int i1 = 10;
    2 	int i2 = 20;
    3 	float f1 = 3.14f;
    4 	char c1 = 'A';
    5 	char c2 = 'B';
    6 			
    7 	System.out.println("결과 : " + i1 + i2);
    8 	System.out.println("결과 : " + (i1 + i2));
    9 	System.out.println("결과 : " + i1 + f1);
   10 	System.out.println("결과 : " + (i1 + f1));
   11 	System.out.println("결과 : " + f1 + c1);
   12 	System.out.println("결과 : " + (f1 + c1));
   13 	System.out.println("결과 : " + c1 + c2);
   14 	System.out.println("결과 : " + (c1 + c2));
   15 	System.out.println("결과 : " + (char)(c1 + c2));

 

 

 

 

[상수, Literal 상수]

  1. 변수 안에 literal 상수(기본 숫자)를 넣을 수 있음
  2. 그 변수가 final이면 그 변수는 상수가 됨
  3. final 선언 이후, 값 변경 불가능함

▽ 예제 코드 3 

    1 	int i = 100;
    2 	long l = 100L;
    3 	final byte ON = 1;
    4 			
    5 	// Literal : 100, 100L, 1
    6 	// 변수 : i, l
    7 	// 상수 : ON

 

 

 

 

[논리 연산자]

  1. Short-cut 연산이 적용됨
  2. 앞 조건이 거짓이면, 뒤 조건은 보지 않고 넘어감

 

[기본 입출력]

 

System.in.read()

  1. 입력받기 전에 Buffer에 남아 있는 입력을 확인하고 가져옴
  2. 없다면 문자 하나를 입력받음
  3. 문자를 입력하면 int 값으로 전환되어서 저장됨
  4. 사용자가 입력하면 입력된 문자와 함께 \r, \n도 Buffer에 들어감
  5. 다음 입력을 받을 때, 비워 줘야 함

▽ 예제 코드 3 

    1 	int a = System.in.read();
    2 	System.out.println("입력하신 문자는 " + (char) a + "입니다.");
    3 	// casting 해 줘야 함

 

+ Recent posts