Java за неделю. Вводный курс - страница 34

Шрифт
Интервал


массиве. Если вы не уверены, что значения элементов массива расположены по возрастанию, то перед использованием метода binarySearch () необходимо отсортировать массив при помощи метода sort (). Допустим, у нас есть отсортированный массив:

int [] arr = {2,7,15,42,56,78};

int myIndex = Arrays.binarySearch (arr, 56);

Переменной myIndex будет присвоено значение 4. Это индекс элемента массива, имеющего значение 56.

Что случится, если в качестве аргумента указать значение, которого нет в массиве? Мы получим странный результат, который требует отдельных пояснений. Например, попробуем найти индекс для значения 18:

int myIndex = Arrays.binarySearch (arr, 18);

Переменной myIndex будет присвоено значение -4. Минус означает, что такое значение не найдено. Число 3 означает, какой у этого значения был бы индекс, если бы оно было в массиве. Но к этому индексу зачем-то прибавлена единица! Иными словами, если бы в массиве arr имелось значение 18, то у него был бы индекс 4—1=3.

Как мы уже упоминали в предыдущем разделе, длина массива (количество элементов) определяется через свойство length, поэтому метод для определения длины массива не применяется.

5.4 Строки

Строго говоря, строка в языке Java – это не тип данных, а экземпляр встроенного класса String. У класса String есть собственные методы для работы со строками. Класс String, в отличие от класса Arrays, не требует импорта.

Мы не случайно говорим о строках и массивах в одной главе. Строку текста можно рассматривать, как упорядоченный набор символьных значений, где каждый символ имеет собственный порядковый номер (индекс). Переменная, которая ассоциирована со строкой, хранит ссылку на область памяти. В этом строки похожи на массивы.

Строку можно создать разными способами. Наиболее очевидный – создать экземпляр класса String в явном виде:

String str = «Hello, World!»;

Можно создать пустой объект класса String:

String str = new String ();

Можно создать строку из массива символов:

char [] chars = {«J», ’a’, ’v’, ’a’};

String str = new String (chars);

Строки могут являться элементами массива:

String [] userNames = {«Василий», «Петр», «Николай»};

Строки можно объединять при помощи оператора +. Эта операция называется конкатенацией строк:

String str1 = «Java»;

String str2 = «Language»;

String str3 = str1 + str2;