▶ charAt() 함수
String 타입의 문자열의 특정 위치에 있는 문자를 char 타입(자바에서 문자 하나를 저장할 때 사용하는 기본 자료형)으로 반환하는 함수. 특정 문자를 확인하거나 문자 단위로 조작할 때 유용하게 사용됨.
유니코드 값 자체를 다루거나 변경하기 위한 목적 X ('A'의 유니코드 값은 65. 65가 아닌 'A'가 출력됨)
유니코드 값이나 다른 데이터 타입을 반환하지 않으며 오직 char 타입만 반환.
charAt()의 리턴값 => 숫자(유니코드)
char는 정수형이라 char + char = 정수 덧셈이 됨. 그러므로 각각 더하거나, +"" 또는 String.valueOf()로 문자열 변환 후 결합한다.
str.charAt(0) : 문자열 str의 첫번째 문자
str.charAt(str.length() - 1) : 문자열의 마지막 문자
char ch = str.charAt(i) : i번째 문자를 char 변수로 저장
* 예시(각 문자 출력)
String str = "Hello";
for (int i = 0; i < str.length(); i++) {
System.out.print(str.charAt(i) + " "); // 결과: H e l l o
}
* 예시
[프로그래머스/java/Lv.0] 숨어있는 숫자의 덧셈 (1)
* 문제 풀이class Solution { public int solution(String my_string) { int answer = 0; // 문자열에서 숫자만 추출 String str = my_string.replaceAll("[^0-9]", ""); // 각 문자를 숫자로 변환하여 더하기 for (int i = 0; i charAt(i)
amy-g.tistory.com
[프로그래머스/java/Lv.0] 문자열 정수의 합
* 문제 풀이class Solution { public int solution(String num_str) { int answer = 0; for(int i = 0; i for 문으로 문자열 하나씩 뗴와서 charAt() 함수를 통해 string 타입을 char 타입으로 반환처음에 answer += num_str.charAt(i) -'
amy-g.tistory.com
[프로그래머스/java/Lv.0] 문자열 섞기
* 문제 풀이class Solution { public String solution(String str1, String str2) { String answer = ""; for(int i = 0; i 처음엔 answer += str1.charAt(0) + str2.charAt(1);로 작성했는데 결과값이 숫자가 떴다.char는 정수형이라 char + cha
amy-g.tistory.com
▶ 위 코드들에서 - '0'을 하는 이유?
문자 (char)로 표현된 숫자를 정수 (int)로 변환하기 위함
char 타입은 아스키 코드값을 사용하여 문자를 저장하고 아스키 코드값은 각 문자에 대해 고유한 숫자 값을 가지고 있음.
특정 숫자 문자에서 '0' 값을 빼면 해당 숫자 문자의 실제 정수 값이 된다.
예)
문자 '0'의 아스키 코드값은 48이고 문자 '1'의 아스키 코드값은 49
만약 문자 '1'를 숫자로 변환하고 싶다면, 그 아스키 코드값인 49에서 문자 '0'의 아스키 코드값인 48을 빼면 됨.
'0' 유니코드 값 -> 48
'1' 유니코드 값 -> 49
'2' 유니코드 값 -> 50
'1' - '0' => 49 - 48 = 1
'2' - '0' => 50 - 48 = 2
+) 참고 글
https://colossus-java-practice.tistory.com/31
[자바 프로그래밍 기초] 4. charAt()에 대해서 알아보자.
이번에 알아볼 charAt()이라는 녀석은 이전에 Scanner에 대해서 알아볼 적에 잠시 등장했던 녀석이다. 오늘은 이 녀석이 도대체 뭐하는 녀석이며 어떻게 사용하는지에 대해서 알아보려고 한다. 1. cha
colossus-java-practice.tistory.com
'공부 > JAVA' 카테고리의 다른 글
| [JAVA] 문자열 반복 repeat() (0) | 2024.11.14 |
|---|---|
| [JAVA] 배열 정렬 Arrays.sort() / 베열값 출력Arrays.toString() (0) | 2024.11.06 |
| [JAVA] 문자열 공백 제거 trim()과 strip() (0) | 2024.10.31 |
| [JAVA] 제곱근을 계산하는 함수 Math.sqrt() (0) | 2024.10.23 |
| [Java] 배열 복사 (Arrays.copyOfRange() / System.Arraycopy() / for문) (0) | 2024.10.21 |