JavaRush /Java Blog /Random-KO /String 클래스의 IndexOf 메서드: 필요한 이유와 작동 방식

String 클래스의 IndexOf 메서드: 필요한 이유와 작동 방식

Random-KO 그룹에 게시되었습니다
안녕하세요! 프로그래머는 메소드의 작동 방식을 고려하지 않고 메소드를 자동으로 사용하는 경우가 많습니다. 반드시 알아야 할 기본 기술입니다.

메소드 오버로딩이란 무엇입니까?

제목에 언급된 메서드를 살펴보기 전에 메서드 오버로딩이 무엇인지 기억해 봅시다(누군가는 알 것입니다). Java 메소드 오버로드를 사용 하면 동일한 클래스 내에서 동일한 이름을 가진 두 개 이상의 메소드를 정의할 수 있습니다. 이는 서로 다른 입력 매개변수가 있는 경우에만 가능합니다. 이 경우 메서드를 오버로드라고 하고, 프로세스 자체를 메서드 오버로딩이라고 합니다. 메소드 오버로딩은 Java 다형성의String 클래스의 IndexOf 메서드: 필요한 이유와 작동 방법 - 1 기본 원칙 중 하나입니다 .

indexOf수업 방법 이란 무엇 입니까?String

긴 문자열이 있다고 상상해 보세요. 예를 들어 편지, 수취인의 첫 번째 주소가 이미 알고 있는 이름으로 나타나는 장소를 찾아야 합니다. 어떻게 하시겠습니까? indexOf java클래스 메소드를 사용하십시오 String. 이 메서드는 위에서 설명한 메서드 오버로딩의 일반적인 예입니다.

방법 옵션indexOf

이 방법에는 java string indexOf네 가지 변형이 있습니다.

1위.indexOf(int ch)

이 메서드는 int indexOf(int ch)지정된 문자열에서 지정된 문자가 처음 나타나는 인덱스를 반환합니다. 즉, 왼쪽에서 오른쪽으로 계산하여 특정 문자가 처음 나타나는 횟수를 가져옵니다. 예:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('e');
   System.out.println(value);
}
콘솔 출력:

2
우리가 찾고 있는 문자가 이 줄에 없으면 -1을 얻게 됩니다.
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('j');
   System.out.println(value);
}
콘솔 출력:

-1
PS 혼동하지 않으려면 한 줄의 문자가 "1,2,3..."이 아닌 "0,1,2..."부터 계산된다는 점을 잊지 말아야 합니다.

2번.indexOf(int ch, int fromIndex)

이 메서드는 int indexOf(int ch, int fromIndex)지정된 문자가 처음 나타나는 문자열의 인덱스를 반환하고 지정된 인덱스에서 검색을 시작합니다. 이 방법은 이전 방법보다 현대화된 버전입니다. 차이점은 검색이 실제로 시작될 요소의 번호를 표시한다는 것입니다. 예:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('e',5);
   System.out.println(value);
}
콘솔 출력:

9
검색을 수행할 인덱스가 문자열 길이를 초과하면 대답은 -1이 됩니다. String 클래스의 IndexOf 메서드: 필요한 이유와 작동 방법 - 2알다시피, 이 두 메서드의 시그니처(메서드가 인수로 사용하는 것)에서 전달되는 기호의 유형은 가 int아닌 로 지정됩니다 char. 그러나 우리는 char. 이는 문자열이 바이트 배열로 저장되기 때문입니다. 여기서 셀은 유형의 특정 문자에 해당합니다 char. 바이트 간의 대응은 charASCII 테이블에 따라 수행됩니다. ASCII(정보 교환을 위한 미국 표준 코드)는 인쇄 가능한 일반적인 문자와 인쇄할 수 없는 문자를 숫자 코드로 매핑한 표입니다. 따라서 특정 문자가 전달되면 char자동으로 ASCII 테이블에서 해당 문자를 나타내는 숫자로 변환됩니다. 이를 바탕으로 int필요한 문자에 해당하는 숫자( )를 메서드에 직접 전달할 수 있습니다. 예를 들어, ASCII 테이블의 문자 'e'는 숫자 101에 해당하므로 다음 예를 제외하고 이전 예를 반복할 수 있습니다 char.
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf(101,5);
   System.out.println(value);
}
콘솔 출력은 변경되지 않았습니다.

9
PS 어떤 경우에는 이러한 방법을 서로 바꿔서 사용할 수 있습니다. 예를 들어 str.indexOf('e');다음과 같습니다 str.indexOf('e', 0);.

3번.indexOf(String str)

이 메서드는 int indexOf(String str)지정된 하위 문자열이 처음 나타나는 지정된 행의 인덱스를 반환합니다. 이 방법은 이미 전체 하위 문자열( )을 검색한다는 점에서 첫 번째 옵션과 근본적으로 다릅니다 String. 덕분에 우리는 좀 더 구체적인 것을 찾아볼 수 있다. 예:
public static void main(String[] args) {
   String str = "Diego, where is my money? Diego,you made me very upset";
   int value = str.indexOf("Diego");
   System.out.println(value);
}
콘솔 출력:

0
PS 모든 변형은 indexOf대소문자를 구분합니다. 대문자(대문자)와 소문자(소문자)는 서로 다른 것으로 간주됩니다. 조심하세요.

4번.indexOf(String str, int fromIndex)

이 메서드는 indexOf(String str, int fromIndex)지정된 인덱스에서 시작하여 지정된 하위 문자열이 처음 나타나는 이 행의 인덱스를 반환합니다. 이 옵션은 다시 한 번 더 현대화된 이전 옵션이지만 검색이 수행될 장소가 표시됩니다. 예:
public static void main(String[] args) {
   String str = "Diego, where is my money? Diego,you made me very upset";
   int value = str.indexOf("Diego", 1);
   System.out.println(value);
}
콘솔 출력:

26
PS 음수 시작 인덱스를 지정하면 메서드는 indexOf이를 0으로 인식합니다. 이 경우 메서드는 다시 이전 메서드(시작 인덱스가 지정되지 않음)와 유사합니다. 오늘은 여기까지입니다. 이제 Java 덕분에 더 많은 지식을 갖게 되었습니다 indexOf!
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION