728x90
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
가 됩니다.
728x90
'Back-End > JAVA' 카테고리의 다른 글
자바8 - 인터페이스의 기본 메소드와 스태틱 메소드 (0) | 2021.04.08 |
---|---|
자바 indexOf() - 문자열 중 해당문자 위치 찾기 (0) | 2021.04.07 |
자바8 - 함수형 인터페이스와 람다 표현식에 대해서 간단하게 (0) | 2021.04.04 |
== 와 equals 차이 (0) | 2020.12.21 |
Optional (0) | 2020.12.16 |