JAVA 기초공부

JAVA 기초공부(5) - 자료형3

Dotae1 2025. 2. 3. 19:29

1. 형변환 - 자료형을 변경시켜줌 (캐스팅이라고도 함)

 

문자형 -> int형

String num = "123"; //(문자)

int n = Integer.parseInt(num); //(int형으로 변환)

System.out.print(n); //-> 123 출력

 

int형 -> 문자열

int n = 123;

String num = "" + n; //가장 쉬운 방법 숫자앞에 "" 붙여주는 것

System.out.print(num); //-> 123출력(문자형)

 

int n = 123;

String num1 = String.valueOf(n);

String num2 = Integer.toString(n);

System.out.print(num1); // -> 123 출력

System.out.print(num2); // -> 123 출력

 

문자형 -> double형

String num = "123.456";

double n = Double.parseDouble(num);

System.out.print(num); // -> 123.456

 

정수 -> 실수 변환

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 출력

 

2. Final

final은 자료형에 값을 단 한 번만 설정할 수 있게 하는 키워드이다. 값을 설정하면 그 값을 다시 되돌릴 수 없다.

final int n = 123;  // final로 설정하면 값을 바꿀 수 없다.
n = 456;  // 컴파일 오류 발생

List의 경우에는 값을 더하거나(add) 뺄(remove)수는 있지만 재할당은 불가능하다. 만약 값을 더하거나 빼는것도 불가능하게 만들고 싶다면 List.of를 작성하여 수정할 수 없는 리스트로 만들면 된다.

final ArrayList<String> a = new ArrayList<>(Arrays.asList("a", "b"));
a = new ArrayList<>(Arrays.asList("c", "d"));  // 컴파일 에러 발생

그러므로 final은 실행하면서 값이 바뀌면 안될 때 사용한다.