soominkim Study
article thumbnail
Published 2023. 1. 12. 12:22
[Java] indexOf/lastIndexOF Java
728x90

 

1. indexOf() : 특정 문자나 문자열이 앞에서부터 처음 발견되는 인덱스를 반환하며 만약 찾지 못했을 경우 -1을 반환합니다.

- indexOf(String str)

- indexOf(int ch)

- indexOf(int ch, int fromIndex)

- indexOf(String str, int fromIndex)

사용법은 위 사진과 같은데. indexOf(찾을 특정 문자, 시작할 위치)로 사용하면 된다.  시작할 위치의 경우 생략이 가능하며 생략할 경우 0번째 즉 문자열의 처음부터 찾기 시작한다.

출력문을 보면 찾을 특정 문자의 index 즉 위치를 반환해 주는 것을 알 수 있다. 1번째 예시와 3번째 예시의 차이점을 살펴보자. 1번째 예시와 3번째 예시 모두 특정 문자("o")를 찾지만 반환값이 다른 것을 확인할 수 있다. 이유는 1번째 예시는 시작할 위치를 지정해주지 않아 문자열의 처음부터 찾기 시작해 특정 문자("o")를 찾았을 때를 반환한 것이고 3번째 예시는 시작할 위치를 5로 지정해 줬기 때문에 5부터 시작해 특정 문자("o")를 찾았을 때 반환한 것이다.

그리고 공백 역시 하나하나 전부 위치를 잡고 있기때문에 indexOfTestStr2 에서 특정문자("o")를 찾을 경우 앞에 빈칸을 전부 포함하여 5번째 위치에 있다는 결과를 반환하는 것을 추가로 확인할 수 있다.

"-1"을 반환하는 이유는 특정문자("k")를 찾지 못했기 때문에 그렇다.

 

 

2. lastIndexOf() : 특정 문자나 문자열이 에서부터 처음 발견되는 인덱스를 반환하며 만약 찾지 못했을 경우 -1을 반환합니다.

- lastIndexOf(String str)

- lastIndexOf(int ch)

- lastIndexOf(int ch, int fromIndex)

- lastIndexOf(String str, int fromIndex)

사용법은 위 사진과 같은데. indexOf(찾을 특정 문자, 시작할 위치)로 사용하면 된다.  시작할 위치의 경우 생략이 가능하며 생략할 경우 문자열의 뒤에서부터 찾기 시작한다.

lastIndexOf()가 반환한 값을 확인할 때 주의해야할 점이 있다. 문자열을 뒤에서부터 찾기 시작하지만 오른쪽에서 몇번째 위치하는지를 반환하는 것이 왼쪽에서 몇번째 위치하는지를 인덱스로 반환한다.

반환값을 확인해보면 어떤 말인지 더 쉽게 이해할 수 있다. 분명 뒤에서 특정문자("o")의 위치는 6번째인데 lastIndexOf()가 반환하는 값은 "9"를 반환한다. 이런 차이점을 제외하고는 indexOf()와 같은 기능을 수행함으로 직접 해보는 것이 좋다.

728x90

'Java' 카테고리의 다른 글

[Java] 상속(Inheritance)  (0) 2023.01.24
[Java] Arrays.sort  (0) 2023.01.12
[Java] OOP(ObejectOrientedProgramming)  (1) 2022.12.05
[Java] Array (1)  (0) 2022.11.23
[Java] 메모리 구조 (Static,Stack,Heap)  (0) 2022.11.07
profile

soominkim Study

@soominkim

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그