정수형을 문자열로 문자열을 정수형으로 변환
정수형(int)을 문자열(String)로 변환하여 정수의 자릿수를 구하는 코드
[!]: 바꾸는 이유?
정수형끼리의 연산이 아닌 경우 더하기 연산 등을 수행했을 때 문자가 합쳐지는 결과가 나올 수 있기 때문.
연산 외에도 메서드 호출 시 인자값을 정수로 보내서 문자열로 처리하는 또는 반환하는 경우에도 필요.
변화하는 방법은 여러가지가 있다.
String.valueOf() ↔ Integer.valueOf()
public class Java100_type_IntString{
public static void main(String[] args){
// [1]: 정수 선언
int a = 12345;
String str = "12345";
// System.out.println(a.length()); //Err
System.out.println("[1]-->"+str.length()); //5
// [2]: 정수 --> 문자열로 변환 --> 자릿수 구하기
String stra = String.valueOf(a);
System.out.println("[2]-->"+stra); //5
// [3]: 문자열 + 정수형 = ?
System.out.println("[3]-->"+12345+1); //12346
System.out.println("[3]-->"+str+1); //12345+1=123451
// [4]: 문자열 --> 정수로 변환
int b = Integer.valueOf(str);
System.out.println("[4]-->"+b+1); //12346
}
}
[결과 출력]
[1] --> 5
[2] --> 5
[3] --> 123451
[3] --> 123451
[4] --> 123451
예상과 다른 결과가 나왔다. 출력할 때 순차적으로 실행돼서 문자열이 순서대로 계산이 되었다. 따라서 괄호로 묶어서 먼저 계산해야 할 문자열을 묶어준다.
public class Java100_type_IntString{
public static void main(String[] args){
// [1]: 정수 선언
int a = 12345;
String str = "12345";
// System.out.println(a.length()); //Err
System.out.println("[1]-->"+str.length()); //5
// [2]: 정수 --> 문자열로 변환 --> 자릿수 구하기
String stra = String.valueOf(a);
System.out.println("[2]-->"+stra); //5
// [3]: 문자열 + 정수형 = ?
System.out.println("[3]-->"+(12345+1)); //12346
System.out.println("[3]-->"+(str+1)); //12345+1=123451
// [4]: 문자열 --> 정수로 변환
int b = Integer.valueOf(str);
System.out.println("[4]-->"+(b+1)); //12346
}
}
[결과 출력]
[1] --> 5
[2] --> 5
[3] --> 12346
[3] --> 123451
[4] --> 12346
'인프런 스터디 > 예제로 공부하는 Java 100 문제풀이 Part.1' 카테고리의 다른 글
자료형, 연산자 - 19: 수치, 연산자, 축약 (2) (0) | 2021.07.16 |
---|---|
자료형, 연산자 - 18: 수치, 연산자, 축약 (1) (0) | 2021.07.16 |
자료형, 연산자 - 16: System.out.print, println, printf (0) | 2021.07.14 |
자료형, 연산자 - 15: 기본형, 타입, 초기화 (2) (0) | 2021.07.13 |
자료형, 연산자 - 14: 기본형, 타입, 초기화 (1) (0) | 2021.07.13 |