ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA] 자료형변환(Casting)
    언어/JAVA 2022. 9. 7. 17:13

    -정수에 한해 형변화 연산을 생략 가능

    -단순 데이터를 변수에 저장하는 동작까지만 생략 가능

    -정수(int, byte, short)들의 산술연산의 결과는 int

    // 실수 -> 정수
    double d1=1.23456;
    int a=(int)d1; // a변수에 1이 저장
    
    // 정수 -> 실수
    double d2=(double)a; // d2변수에 1.0이 저장
    
    // 문자 -> 정수
    char c='A';
    a=(int)c; // 문자 'A'에 해당하는 아스키코드 65가 저장
    
    // 정수 -> 문자
    a=97;
    c=(char)97; // 97 아스키코드에 해당하는 'a' 글자 저장
    // 용량이 큰 변수값 -> 용량이 작은 변수에 저장해야 할 때
    long a2=1000;
    int a3=(int)a2;
    double f1=123.123;
    float f2=(float)f1;
    // 반대의 경우는 캐스팅 없이 자유롭게 값 전달이 가능함

     

    String

    -잘못된 예

    // String -> int
    String s1="123";
    // int a4=(int)s1; -> String과 int 간 호환성이 존재하지 않아 error
    
    // int -> String
    int a5=123456;
    // String str2=(String)a5; -> error
    // 호환되지 않는 자료들간의 형변환은 별도의 도구(메서드)가 필요함
    
    // String -> int
    String str4="123456";
    int b4=Integer.parseInt(str4);
    
    // int ->String
    int b5=123456;
    String str5=String.valueOf(b5); 
    
    
    // double -> String
    double d3=123.1234;
    // String s3=(String)d3 ->error
    String s3=String.valueOf(d3); // running normally
    
    // String -> double
    String s4="123.1234";
    // double d4=(double)d4 ->error
    double d4=Double.parseDouble(s4); // running normally
    		
    
    // String -> char
    String s5="ABCDEFG";
    // char c5=(char)s5; ->error
    char c5=s5.charAt(0); // running normally
    // 0: 첫번째 글자, 1: 두번째 글자, 2: 세번째 글자
    
    // char -> String
    char c6='A';
    // String s6=(char)c6; ->error
    String s6=String.valueOf(c6);

    '언어 > JAVA' 카테고리의 다른 글

    [JAVA] switch문  (0) 2022.09.07
    [JAVA] if문  (1) 2022.09.07
    [JAVA] 연산자(Operator)  (0) 2022.09.07
    [JAVA] 변수(Variable)  (0) 2022.09.07
    [JAVA] println  (0) 2022.09.07

    댓글

Designed by Tistory.