charAt()
기본형 변수인 char는 단 한 글자만 저장할 수 있는 변수이다.
일반적으로 단어나 문장을 입력하는 경우가 많지만, 알고리즘 문제를 풀다 보면 요구하는 명령어가 한 단어로 이루어져 있을 때가 있다. 이때 charAt()을 사용할 수 있다.
사용방법
Scanner나 BufferedReader로 입력을 받을 때는 String으로 리턴 값이 고정되기 때문에 charAt()을 사용하여 저장된 문자열 중에서 한 글자만 선택해 char타입으로 변환해 준다.
BufferedReader가 무엇인지 잘 모르겠다면 아래 링크를 참조하면 된다.
(https://kkosang.tistory.com/3)
[ Java ] BufferedReader와 BufferedWriter
BufferedReader와 BufferedWriter를 보기 전에 먼저 Scanner를 알아보자. Scanner 자바를 처음 배울 때 대부분 Scanner 클래스를 이용해서 입력을 받았을 것이다. Scanner 클래스의 특징에는 여러 가지가 있지만,
kkosang.tistory.com
charAt()은 문자열의 index의 값을 받아 문자열에서 해당 index를 char타입으로 반환한다.
예시를 들어 좀 더 자세하게 설명하겠다.
ex)
String str = new String();
str = "hello java";
위와 같은 예시가 있다고 가정해 보자.
String 타입의 참조변수 str에 "hello java"라는 문자열을 저장했다.
문자열중 하나의 단어값을 char타입으로 반환해 사용하고 싶을 때, 아래와 같이 참조변수에. 을 찍고 charAt(index);를 적어주면 된다.
str.charAt(0);
char ch = '';
ch = str.charAt(0); // 여기서 str은 "hello java"
System.out.println(ch); // index가 0번이기 때문에 h가 출력이 된다.
ch = str.charAt(6);
Systemo.out.println(ch); // index 번호가 6번 => j가 출력이 된다.
마지막으로 예시를 하나 더 들어보겠다.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 버퍼를 이용한 입력
String cmd = br.readLine();
// cmd에 A x 가 입력이 됐다고 가정해보자.
char ch = cmd.charAt(2);
위의 코드에서 ch의 값은 무엇이 되겠는가?
정답은 ch의 값은 char타입으로 x가 된다.
이유는 해당 문자열 "A x"를 입력받았기 때문에,
charAt(0)의 값은 A, charAt(1)의 값은 " ", charAt(2)의 값은 x가 된다.
여기서 주의해야 할 점은 공백까지 생각해서 index를 설정해줘야 한다.
'Java' 카테고리의 다른 글
[ Java ] 타입변환 (0) | 2023.04.28 |
---|---|
[ Java ] StringTokenizer 클래스 (0) | 2023.04.15 |
[ Java ] 논리형타입과 논리연산자 (0) | 2023.04.10 |
[ Java ] 기본형 타입 (0) | 2023.04.10 |
[ Java ] StringBuffer와 StringBuilder (0) | 2023.04.09 |