SKSDUD

형변환(Casting) 정리 본문

프로그래밍/개발공부

형변환(Casting) 정리

NYinJP 2023. 2. 8. 10:36

형변환

형변환
변수 또는 상수의 타입을 다른 타입으로 변환하는 것

 

(타입) 피연산자 : 괄호()를 캐스트 연산자 또는 형변환 연산자라고 하고 형변환을 캐스팅이라고 한다. 

 

System.out.println('a'+26);
System.out.println((int)'a');
System.out.println((char)68);
System.out.println((float)6);
System.out.println((int)9.1234f);
        
//출력
123
97
D
6.0
9

아래 네 개가 캐스팅을 수행한 것이다. 

타입 간의 변환 방법

1. 숫자 3을 문자 3으로 변환 char to int - 숫자에 문자 0을 더하고 char로 형변환한다.

  • (char)(3+'0');

2. 문자 3을 숫자3으로 변환 int to char - 문자에서 문자 0을 뺀다.

  • '3'-'0';

3. anyType 을 문자열로 변환 - 빈 문자열 ""을 더한다. 

  • anyType + "";
💬
문자열 리터럴은 " " 안에 아무것도 넣지 않는 것을 허용하며 이를 빈 문자열이라 한다. 
문자 리터럴은 반드시 ' ' 안에 하나의 문자가 있어야 한다. (반드시 값 있어야한다! 초기화 시 주의)

 

4. 문자열을 문자로 변환 - charAt(인덱스_번호) 메서드 사용

String str ="abcd";

char charA = str.charAt(0);

문자 a가 charA에 저장된다.

 

5. 문자열을 숫자로 변환 - Integer.parseInt() 또는 Integer.parseDouble() 사용

        String str1="1334556";
        System.out.println("정수형으로 바꿔주십시오");
        System.out.println(Integer.parseInt(str1));
        System.out.println("실수형으로 바꿔주십시오");
        System.out.println(Double.parseDouble(str1));
        System.out.println("덧셈을 수행해 주십시오");
        int a = Integer.parseInt(str1);
        double b = Double.parseDouble(str1);
        System.out.println(a+b);

// 출력

정수형으로 바꿔주십시오
1334556
실수형으로 바꿔주십시오
1334556.0
덧셈을 수행해 주십시오
2669112.0

 

마지막 이항 연산자 +를 수행할 때 두 피연산자의 타입이 일치해야 연산이 가능하다.

이때 따로 캐스팅을 해주지 않아도 컴파일러가 알아서 자동으로 형변환을 해준다. 이를 자동 형변환이라고 한다.

표현범위가 좁은 타입에서 큰 타입으로의 형변환은 자동으로
큰 타입에서 작은 타입으로는 캐스팅 연산자를 붙여서 쓴다. 

 

1 byte 2 byte 4byte 8 byte 4 byte 8 byte
byte short int long float double
  char        

형변환이 가능한 7개의 기본형(왼 ➡ 오)

 

 


 

그래서 중요한 것은...

이걸 다 외워야 하냐는 것인데 

아마 외워야 하지 않을까 계속 보다 보면

익숙해지겠지