你好!程式設計師經常自動使用方法,而不考慮它們是如何運作的。這些是您必須了解的基本技術。
想像一下你有一條長繩。例如一封信,你需要透過你已經知道的名字找到收件者的第一個地址所在的地方。你將如何做到這一點?使用方法選項
該方法1號。
此方法2號。
此方法第三。
此方法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);
。
第三。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。在這種情況下,該方法將再次類似於前一種方法(其中未指定起始索引)。這就是今天的全部內容。現在,由於indexOf
Java,您有了更多的知識!
GO TO FULL VERSION