[JAVA] 형 변환 | final

·2025년 7월 7일
0

JAVA

목록 보기
16/17

📍 형 변환

  • 변수의 자료형을 다른 자료형으로 바꾸는 것

문자열 \rightarrow 정수

  • int 자료형의 Wrapper 클래스인 Integer 이용
public class Sample {
    public static void main(String[] args) {
        String num = "123";
        int n = Integer.parseInt(num);
        System.out.println(n);  // 123 출력
    }
}

정수 \rightarrow 문자열

1. 빈 문자열 "" 더하기

public class Sample {
    public static void main(String[] args) {
        int n = 123;
        String num = "" + n;
        System.out.println(num);  // 123 출력
    }
}

2. String.valueOf(정수) 또는 Integer.toString(정수)

public class Sample {
    public static void main(String[] args) {
        int n = 123;
        String num1 = String.valueOf(n);
        String num2 = Integer.toString(n);
        System.out.println(num1);  // 123 출력
        System.out.println(num2);  // 123 출력
    }
}

문자열 \rightarrow 실수

  • Double.parseDouble 또는 Float.parseFloat
public class Sample {
    public static void main(String[] args) {
        String num = "123.456";
        double d = Double.parseDouble(num);
        System.out.println(d);
    }
}

정수 \leftrightarrow 실수

public class Sample {
    public static void main(String[] args) {
        int n1 = 123;
        double d1 = n1;  // 정수를 실수로 바꿀때에는 캐스팅이 필요없다.
        System.out.println(d1);  // 123.0 출력

        double d2 = 123.456;
        int n2 = (int) d2; // 실수를 정수로 바꿀때에는 반드시 정수형으로 캐스팅해 주어야 한다.
        System.out.println(n2);  // 소숫점이 생략된 123 출력
    }
}

실수 형태의 문자열 \rightarrow 정수

  • Double.parseDouble()을 이용해 실수로 바꾼 후 정수로 변경
// NumberFormatException 발생 케이스
public class Sample {
    public static void main(String[] args) {
        String num = "123.456";
        int n = Integer.parseInt(num);  
    }
}
// 실수 형태의 문자열을 정수로 변환할 경우 NumberFormatException이 발생한다.
public class Sample {
    public static void main(String[] args) {
        String num = "123.456";
        double temp = Double.parseDouble(num);
        int n = (int) temp;  
        System.out.println(n);
    }
}



📍 final

  • 자료형에 값을 단 한 번만 설정할 수 있게 강제하는 키워드
  • 값을 한 번 설정하면 그 값을 다시 설정할 수 없다
public class Sample {
    public static void main(String[] args) {
        final int n = 123;  // final로 설정하면 값을 바꿀 수 없다.
        n = 456;  // 컴파일 오류 발생
    }
}
  • 리스트의 경우도 final로 선언하면 재할당은 불가능하다.
import java.util.ArrayList;
import java.util.Arrays;

public class Sample {
    public static void main(String[] args) {
        final ArrayList<String> a = new ArrayList<>(Arrays.asList("a", "b"));
        a = new ArrayList<>(Arrays.asList("c", "d"));  // 컴파일 에러 발생
    }
}
profile
To Dare is To Do

0개의 댓글