English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Учебник по основам Java

Контроль потока Java

Массивы Java

Ориентированное на объекты Java (I)

Ориентированное на объекты Java (II)

Ориентированное на объекты Java (III)

Обработка исключений в Java

Списки Java (List)

Очереди Java (Queue)

Мапы Java (Map)

Множественные значения Java (Set)

Ввод/вывод (I/O) Java

Reader/Writer Java

Другие темы Java

Метод indexOf() класса String в Java: примеры использования и примеры

Java методы String (строка)

Метод indexOf() класса String возвращает индекс первого出现的 указанного символа или подстроки в строке.

Синтаксис метода indexOf() класса String

string.indexOf(int ch, int fromIndex)

или

string.indexOf(string str, int fromIndex)

Параметры indexOf()

Чтобы найти индекс символа, функция indexOf() использует следующие два параметра:

  • ch - Символ, для которого нужно найти начальный индекс

  • fromIndex(Опционально) - Если передан fromIndex, то поиск начинается с этого индекса в строке ch

Чтобы найти индекс указанной подстроки в строке, indexOf() использует следующие два параметра:

  • str - Строка, для которой нужно найти начальный индекс

  • fromIndex(Опционально) - Если передан fromIndex, то поиск начинается с этого индекса в строке str

Значение возвращаемое indexOf()

  • Возвращает индекс первого совпадения указанного символа/строки

  • Если找不到指定的 символ/строку, тоВозвращает -1.

Пример 1: indexOf() в строке Java

//indexOf() в строке Java имеет только один параметр
class Main {
  public static void main(String[] args) {
    String str1 = "Learn Java";
    int result;
    //Получить индекс символа "J"
    result = str1.indexOf('J');
    System.out.println(result); // 6
    //Вернуть индекс первого出现的 "a"
    result = str1.indexOf('a');
    System.out.println(result); // 2
    //Символ не содержится в строке
    result = str1.indexOf('j');
    System.out.println(result); // -1
    //Получить индекс "ava"
    result = str1.indexOf("ava");
    System.out.println(result); // 7
    //Подстрока не содержится в строке
    result = str1.indexOf("java");
    System.out.println(result); // -1
    //Индекс пустой строки в строке
    result = str1.indexOf("");
    System.out.println(result); // 0
  }
}

Объяснение:

  • Символ "a" встречается несколько раз в строке "Learn Java". Метод indexOf() возвращает индекс первого出现的 "a" (то есть 2).

  • Если передается пустая строка, indexOf() возвращает 0 (найден на первом месте). Это потому, что пустая строка является подмножеством каждого подстроки.

Пример 2: indexOf() с параметром fromIndex

class Main {
  public static void main(String[] args) {
    String str1 = "Learn Java programming";
    int result;
        //Получить индекс символа "a"
        //Искать с индекса 4
    result = str1.indexOf('a', 4);
    System.out.println(result); // 7
        // Получение индекса "Java"
        // Поиск начинается с индекса 8
    result = str1.indexOf("Java", 8);
    System.out.println(result); // -1
  }
}

Объяснение:

  • Первое出现的 "a" в строке "Learn Java programming" находится в индексе 2. Но, когда str1 возвращает индекс второго "a", используется indexOf('a', 4). Это потому, что поиск начинается с индекса 4.

  • Строка "Java" находится в строке "Learn Java programming". Но, str1.indexOf("Java",8) возвращает -1 (не найдено строки). Это потому, что поиск начинается с индекса 8, и в " va programming" нет " Java".


Связанное чтение: Java метод lastIndexOf() строки

Java методы String (строка)