본문 바로가기
Language/Java

[Java 봐] Type casting(형 변환)

by ㅇ달빛천사ㅇ 2024. 6. 2.
728x90

문자열 ↔ 숫자

String to int

  • int Integer.parseInt(String s)

      public class String2int {
        public static void main(String args[]) {
            String s = "12345";
            int n = Integer.parseInt(s);
    
            System.out.println("n = " + n);
        }
    }
    Output
      n = 12345

  • int Integer.valueOf(String s)

      public class String2int {
        public static void main(String args[]) {
            String s = "12345";
            int n = Integer.valueOf(s);
    
        System.out.println("n = " + n);
        }
    }
    Output
      n = 12345

int to String

  • int Integer.toString(int n)

      public class int2String {
        public static void main(String args[]) {
            int n = 12345;
            String s = Integer.toString(n);
    
          System.out.println("s = " + s);
        }
    }
    Output
      s = 12345

  • int String.valueOf(int n)

      public class int2String {
        public static void main(String args[]) {
            int n = 12345;
            String s = String.valueOf(n);
    
          System.out.println("s = " + s);
        }
    }
    Output
      s = 12345


valueOf()메서드는 String, Integer, Float, Double, Long, Short에서 모두 사용 가능하다.

(변환 할 자료형).valueOf(변환 할 값)

char ↔ int

char to int

단순 형 변환을 할 경우, 아스키코드 값이 반환됨.

  • '0'에 해당하는 값(48)을 빼기

      public class char2int {
        public static void main(String args[]) {
            char c = '5';
            int n = (int) (c - '0');
    
          System.out.println("n = " + n);
        }
    }
    Output
      n = 5

      public class char2int {
        public static void main(String args[]) {
            char c = '5';
            int n = (int) (c - 48);
    
            System.out.println("n = " + n);
        }
    }
    Output
      n = 5

int to char

  • '0'에 해당하는 값(48)을 더하기

      public class int2char {
        public static void main(String args[]) {
            int n = 5;
            char c = (char)(n + '0');
    
          System.out.println("c = " + c);
        }
    }
    Output
      c = 5

      public class int2char {
        public static void main(String args[]) {
            int n = 5;
            char c = (char)(n + 48);
    
            System.out.println("c = " + c);
        }
    }
    Output
      c = 5


String ↔ char

char to String

char형 변수 또는 char배열을 String형으로 변환

char to String

  public class char2String {
      public static void main(String args[]) {
          char c = '5';
          String s = String.valueOf(c);

          System.out.println("s = " + s);
      }
  }
Output
  s = 5

char[] to String

  • String String.valueOf(char[] cArr)

      public class charArr2String {
        public static void main(String args[]) {
            char[] cArr = {'a','b', 'c'};
            String s = String.valueOf(cArr);
    
            System.out.println("s = " + s);
        }
    }
    Output
      s = abc

  • forEach문 사용하기

      public class charArr2String {
      public static void main(String args[]) {
          char[] cArr = {'a','b', 'c'};
          String s = "";
    
          for(char c : cArr) {
              s += c;
          }
    
          System.out.println("s = " + s);
      }
    }
    Output
      s = abc

  • for문 사용하기

      public class charArr2String {
      public static void main(String args[]) {
          char[] cArr = {'a','b', 'c'};
          String s = "";
    
          for(int i = 0; i <cArr.length; i++) {
              s += cArr[i];
          }
    
          System.out.println("s = " + s);
      }
    }
    Output
      s = abc


String to char

String to char

  • char 문자열.charAt(int index)

      public class String2char {
        public static void main(String args[]) {
            String s = "1";
    
            char c = s.charAt(0);
    
            System.out.println("c = " + c);
        }
    }
    Output
      c = 1

String to char[]

  • char[] 문자열.toCharArray()

    import java.util.Arrays;
    
    public class String2charArr {
        public static void main(String args[]) {
            String s = "1234";
            char[] c = s.toCharArray();
    
            System.out.println("c = " + Arrays.toString(c));
        }
    }
    Output
      c = [1, 2, 3, 4]

  • for문 사용하기

    import java.util.Arrays;
    
    public class String2charArr {
        public static void main(String args[]) {
            String s = "1234";
            char[] c = new char[s.length()];
    
            for (int i = 0; i < s.length(); i++) {
                c[i] = s.charAt(i);
            }
    
            System.out.println("c = " + Arrays.toString(c));
        }
    }
    Output
      c = [1, 2, 3, 4]


정수 ↔ 실수

double to int

double타입은 64비트로 실수를 표현
리터럴 타입 접미사 : D 또는 d (생략 가능)

  public class double2int {
      public static void main(String args[]) {
          double d = 1010.10101010;
          // double d = 1010.10101010D;
          // double d = 1010.10101010d;
          int n = (int) d;

          System.out.println("n = " + n);
      }
  }
Output
  n = 1010

소숫점 아래 값은 버림.(반올림X)


int to double

  public class int2double {
      public static void main(String args[]) {
          int n = 12345;
          double d = (double) n;


          System.out.println("d = " + d);
      }
  }
Output
  d = 12345.0

기본적으로 소숫점 아래 첫째자리까지 출력됨.


  • double Double.valueOf(int n)

      public class int2double {
        public static void main(String args[]) {
            int n = 12345;
            double d = Double.valueOf(n);
    
            System.out.println("d = " + d);
        } 
    }
    Output
      d = 12345.0

    기본적으로 소숫점 아래 첫째자리까지 출력됨.



float to int

float타입은 32비트로 실수를 표현
리터럴 타입 접미사 : F 또는 f

  public class float2int {
      public static void main(String args[]) {
          float f = 1010.101010F;
          // float f = 1010.101010f;
          int n = (int) f;

          System.out.println("n = " + n);
      }
  }
Output
  f = 12345.0

소숫점 아래 값은 버림.(반올림X)


int to float

  public class int2float {
      public static void main(String args[]) {
          int n = 12345;
          float f = (float) n;


          System.out.println("f = " + f);
      }
  }
Output
  f = 12345.0

기본적으로 소숫점 아래 첫째자리까지 출력됨.


  • double Float.valueOf(int n)

      public class int2float {
        public static void main(String args[]) {
            int n = 12345;
            float f = Float.valueOf(n);
    
            System.out.println("f = " + f);
        }
    }
    
    Output
    f = 12345.0
    기본적으로 소숫점 아래 첫째자리까지 출력됨.
728x90


Top