거인의 코딩일지
[JAVA] charAt() 함수란?? 기능??? 본문
728x90
charAt() 함수란??
- String 으로 저장된 문자열 중에서 한글자만 선택하여 char 타입으로 변환해 주는 함수이다.
- charAt() 의 형태??
- 기본적으로 charAt() 함수를 사용하려면 String 타입의 문자열이 필요하다.
// ex)
String str = new String ();
str = "Hello";
라는 예시가 있다.
String 타입의 참조변수 str 에 "Hello"라는 문자열을 저장한 후
str을 char 타입으로 변환하는 과정은
str.charAt();
이러한 참조 변수 뒤에 . 을 찍고 charAt()을 적어주면 된다.
하지만 이 상태로는 아무것도 되지 않는다!!!
// ex2)
String str = new String();
char c = ' ';
str = "Hello";
c = str.charAt(0);
System.out.println(c);
// H 가 나타나게됨
위의 1번 예시에서 코드를 추가해서 완성 하였다.
ex2) 에서는 콘솔창에 H 라고 나타나게 된다.
char 타입으로 변환한 문자를 저장하기 위하여 char 타입의 변수 c 를 설정하고 변수 c 에 str.charAt(0)의 값을 저장한 것이다.
() 괄호 안에 숫자의 의미는??
바로 문자열에서 문자의 순서를 나타낸 것이고 즉! 몇번째에 있는 문자를 가져올 것인지에 대한 index 번호가 된다.
현재 ex2 에 charAt(0) 이라고 되어있는데 이건 0번쨰 인덱스를 가져와서 char타입으로 변환한다는 의미가 된다.
여기서 charAt(1) 이라고 적었으면 e 가 콘솔창에 나타나게 될것이다.
charAt()을 사용하는 방법들???
- String 타입의 참조변수 뒤에 붙여서 사용
- Scanner 에서 next() 또는 nextLine() 뒤에 붙여서 사용
1 번 방식은 아까 예시를 통해 설명 하였고 여기서 알아볼것은 2번 방식이다.
Scanner sc = new Scanner(System.in);
char c1 = ' ';
char c2 = ' ';
c1 = sc.next().charAt(0);
c2 = sc.nextLine().charAt(3);
System.out.println(c1);
System.out.println(c2);
sc.close();
이렇게 String 타입의 참조변수 뒤에 붙이지 않고 입력받는 곳에 바로 붙여서도 동일하게 사용가능하다.
여기서 의문점은 sc.next()나 sc.nextLine()은 분명 String타입 일텐데 char 타입 c1 과 c2 에 바로 저장을 한다는 것이다.
하지만 조금 더 생각해보면 charAt(0) 은 입력한 값의 1번째 글자일 것이고 charAt(3)은 4번째 문자일 것이다.
정리!!!
자바 프로그래밍에서는 String타입인 문자열을
char타입의 문자로 변환해주는 명령어가 존재한다.
바로 charAt()이라는 함수이다.
charAt()은 String타입의 문자열에서
해당 위치에 있는 문자만을 char타입으로 변환해
사용할 수 있게 만들어주는 함수이다.
String str = new String("예시");
char c = str.charAt(0); 의 형태로 사용할 수 있으며
여기에서 ( )안의 0은 해당 문자열의 위치를 가리킨다.
따라서 charAt(0)이라면 문자열의 0번째 문자를 char타입으로 변환해주는 것이다.
사용방법은 String타입의 참조변수 뒤에 .을 입력하고 charAt('문자인덱스번호')을 입력하면 된다.
참고
728x90
'코딩 > JAVA' 카테고리의 다른 글
[Java] 향상된 for문 / for each문?? 이란?? 장단점??? (0) | 2023.11.01 |
---|---|
[JAVA] String.join() 메서드란???? (0) | 2023.10.31 |
[JPA] deleteAll(), deleteAllInBatch(), deleteInBatch() 개념과 차이점 (0) | 2023.10.10 |
[JPA] 기본키 생성 전략 과 차이 (0) | 2023.10.07 |
[Spring boot] Swagger API 연동하기 (0) | 2023.10.06 |