안녕하세요! 프로그래머는 메소드의 작동 방식을 고려하지 않고 메소드를 자동으로 사용하는 경우가 많습니다. 반드시 알아야 할 기본 기술입니다.
긴 문자열이 있다고 상상해 보세요. 예를 들어 편지, 수취인의 첫 번째 주소가 이미 알고 있는 이름으로 나타나는 장소를 찾아야 합니다. 어떻게 하시겠습니까? 방법 옵션
이 방법에는 1위.
이 메서드는 2번.
이 메서드는 3번.
이 메서드는 4번.
이 메서드는
메소드 오버로딩이란 무엇입니까?
제목에 언급된 메서드를 살펴보기 전에 메서드 오버로딩이 무엇인지 기억해 봅시다(누군가는 알 것입니다). Java 메소드 오버로드를 사용 하면 동일한 클래스 내에서 동일한 이름을 가진 두 개 이상의 메소드를 정의할 수 있습니다. 이는 서로 다른 입력 매개변수가 있는 경우에만 가능합니다. 이 경우 메서드를 오버로드라고 하고, 프로세스 자체를 메서드 오버로딩이라고 합니다. 메소드 오버로딩은 Java 다형성의 기본 원칙 중 하나입니다 .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이 됩니다. 알다시피, 이 두 메서드의 시그니처(메서드가 인수로 사용하는 것)에서 전달되는 기호의 유형은 가 int
아닌 로 지정됩니다 char
. 그러나 우리는 char
. 이는 문자열이 바이트 배열로 저장되기 때문입니다. 여기서 셀은 유형의 특정 문자에 해당합니다 char
. 바이트 간의 대응은 char
ASCII 테이블에 따라 수행됩니다. 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
!
GO TO FULL VERSION