charAt은 자바에 문자열에 index값을 통해 문자를 읽어오는 방법으로
String str = "코크입니다"; 라는 문자열이 있으면,
str.charAt(0); // 코
str.charAt(1); // 크
str.charAt(2); // 입
str.charAt(3); // 니
str.charAt(4); // 다
이렇게 문자를 가져올 수 있습니다.
그럼 이 문자열을 숫자로 가져와 보겠습니다.
String str = "12345";
str.charAt(0);
무엇이 출력될까요?
네 당연히 1이 출력이 됩니다.
그럼 이 1은 문자의 1 일까요? 아니면 숫자 1일까요?
네 이것도 당연히 문자 '1' 입니다.
그런데 우리는 이 문자 '1'을 숫자 1로 바꾸고 싶습니다. 그럼 어떻게 해야 할까요?
이 문자 '1'은 char형으로 int형으로 형변환을 하면 아스키코드 값으로 변환이 됩니다.
즉 str.charAt(0); 은 '1'이 출력되고 이걸 int형으로 변환시키면 아스키코드값인 49가 나오게 됩니다.
근데 우리는 1이 필요합니다. 49에서 1이 되기 위해서는 48을 빼줘야 합니다.
네. 그래서 - '0'을 해주는 것 입니다. '0'은 아스키코드 48 입니다.
숫자1이 49
숫자2가 50
숫자3이 51
숫자4가 52
숫자5가 53
여기에 '0'인 48을 빼주면
1
2
3
4
5
가 됩니다.
'BE > JAVA' 카테고리의 다른 글
[JAVA] 자바 스트림(Stream) 예제부터 사용법까지 정리 (0) | 2022.05.12 |
---|---|
[Java] String 문자열을 char 배열로 변환하기 (0) | 2022.05.10 |
[JAVA] 코딩테스트 - charAt() 함수 (0) | 2022.05.04 |
[Java] 자바 표준 입출력 (nextInt, nextLine 등) 주의사항 (0) | 2022.05.03 |
[JAVA] BufferedReader 와 Bufferedwriter 사용법 (1) | 2022.04.29 |