Массив строк в Java
Массивы можно составлять не только из чисел, как уже упоминалось, но и из строк. В этом уроке мы рассмотрим массивы строк в Java на примерах, а также три упражнения с ответами.

Строки текста можно помещать в массив Java. Это делается так же, как и для переменных int:
String[] aryString = new String[5]; aryString[0] = "Это"; aryString[1] = "массив"; aryString[2] = "строк"; aryString[3] = "в"; aryString[4] = "Java";
Код выше устанавливает массив строк с 5 позициями. Затем текст присваивается каждой позиции в массиве. Этот цикл, который обходит все позиции в массиве, распечатывая все, что есть в каждой позиции:
int i; for (i = 0; i aryString.length; i++) System.out.println(aryString[i]); >
Цикл закончится, когда значение в переменной с именем i будет меньше длины нашего массива строк с именем aryString. Когда вышеуказанная программа запустится, окно вывода будет выглядеть так: Вы можете выполнить сортировку массивов строк в Java также, как и массивов чисел. Но сортировка происходит в алфавитном порядке по возрастанию, что означает, что «аа» будет перед «аб». Java использует символы Юникода для сравнения одной буквы в вашей строке с другой. Это означает, что заглавные буквы будут стоять перед строчными. Попробуйте следующий код:
package arrays; import java.util.Arrays; public class ArraysTest public static void main(String[] args) String[] aryString = new String[5]; aryString[0] = "Это"; aryString[1] = "массив"; aryString[2] = "строк"; aryString[3] = "в"; aryString[4] = "Java"; Arrays.sort(aryString); int i; for (i = 0; i aryString.length; i++) System.out.println(aryString[i]); > > >
При запуске программы в окне «Вывод» отобразится следующее: Несмотря на то, что мы отсортировали наш массив строк, слова «Java» и «Это» идут первыми. Во-первых, английский алфавит Java-программа всегда ставит вначале, также отсортировывая по алфавитному порядку. Во-вторых, что касается слова «Это», по алфавитному порядку, оно должно было идти последним. И так и было бы, если бы все буквы были строчные. Измените в своем программном коде заглавную букву «Э» на строчную «э». Теперь снова запустите свою программу. Теперь в окне вывода отобразится следующее: Как видите, слово «это» теперь внизу. Мы рассмотрим строки более подробно в следующем уроке, поэтому не беспокойтесь, если что-то непонятно. Вместо этого попробуйте следующие упражнения.
Упражнение G
Установите массив для хранения следующих значений в следующем порядке: 23, 6, 47, 35, 2, 14. Напишите программу, чтобы получить среднее арифметическое для всех 6 чисел. (Вы можете использовать целые числа, то, что округлит ваш ответ.) Ответ на упражнение G
Упражнение H
Используя вышеприведенные значения, пусть ваша программа напечатает наибольшее число в массиве. Ответ на упражнение H
Упражнение I
Используя тот же массив, что и выше, пусть ваша программа распечатывает только нечетные числа. Ответ на упражнение I В следующем уроке вы узнаете о многомерных массивах в Java.
Обработка строк через преобразование в массив — Java: Массивы
Решить ее можно многими способами. Чем больше называет человек — тем лучше. Разберем решение через массив. Для этого воспользуемся методом строки split() , который разделяет строку на массив используя указанный разделитель:
class MyStringUtils public static String capitalizeWords(String sentence) // split разделяет строку по пробелу var words = sentence.split(" "); // . > >
Следующим шагом нужно обойти массив получившихся слов и преобразовать первую букву каждого слова к верхнему регистру. Сделаем это с помощью метода StringUtils.capitalize() . Затем, соединим получившиеся слова в строку, которую и вернем наружу.
import org.apache.commons.lang3.StringUtils; class MyStringUtils public static String capitalizeWords(String sentence) // split разделяет строку по пробелу var words = sentence.split(" "); for (var i = 0; i words.length; i++) // Приводим первую букву слова к верхнему регистру // И заменяем слово в массиве words[i] = StringUtils.capitalize(words[i]); > // Соединяет массив используя разделитель return String.join(" ", words); > >
Так как строки неизменяемые, то capitalize() просто возвращает новое значение, но не меняет старое. Поэтому нужно не забыть выполнить замену старого слова на новое: words[i] = .
В конце появляется массив из которого нужно снова собрать строку. Сделать это проще всего с помощью метода String.join() , который соединяет элементы массива в строку используя указанный соединитель. В нашем случае пробел.
У этой задачи есть и другое решение, с помощью класса StringJoiner . Этот класс работает как StringBuilder , но дополнительно позволяет указывать соединитель:
import org.apache.commons.lang3.StringUtils; class MyStringUtils public static String capitalizeWords(String sentence) // split разделяет строку по пробелу var words = sentence.split(" "); // Указываем соединитель var result = new StringJoiner(" "); for (var word : words) // Приводим первую букву слова к верхнему регистру // Добавляем полученное слово в StringJoiner при помощи метода add() result.add(StringUtils.capitalize(word)); > // Соединяет части строки используя соединитель return result.toString();
Открыть доступ
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
- 130 курсов, 2000+ часов теории
- 1000 практических заданий в браузере
- 360 000 студентов
Наши выпускники работают в компаниях:
Как преобразовать строку в массив java
Чтобы преобразовать строку в массив строк в Java, нужно использовать метод строки split() , передав туда регулярное выражение в качестве разделителя:
String text = "one two three"; String[] words = text.split(" "); System.out.println(Arrays.toString(words)); // => ["one", "two", "three"]
toCharArray() в Java — Сделать из строки массив чаров

Метод toCharArray() создает из строки массив чаров (от англ. — char).
Синтаксис метода:
public char [ ] toCharArray ( )
Вызов:
char [ ] result = str . toCharArray ( ) ;
Пример:
public class Test < public static void main ( String args [ ] ) < String str = "ABC" ; char [ ] result = str . toCharArray ( ) ; System . out . println ( "Char array:" ) ; for ( int i = 0 ; i < result . length ; i ++ ) System . out . println ( "Element [" + i + "]: " + result [ i ] ) ;
Если Вы запустите данный код на своем компьютере, в консоли Вы увидите следующее:

Комментарии к коду:
У нас есть строка «ABC». С помощью метода toCharArray() мы перевели эту строку в массив чаров .
Для того, чтобы продемонстрировать результат, мы создали цикл, и вывели на экран каждый элемент массива по отдельности.
Данная статья написана Vertex Academy. Можно пройти наши курсы Java с нуля. Детальнее на сайте.
- ← toUpperCase() в Java — сделать буквы заглавными
- equals() в Java — проверить равны ли две строки →