Учебники

15) Строки Java

Что такое строки?

Строка в буквальном смысле слова представляет собой последовательность символов. Эй, вы сказали символы, разве это не примитивный тип данных в Java? Да, так что с технической точки зрения базовая строка Java — это в основном массив символов.

Таким образом, моя приведенная выше строка « ROSE » может быть представлена ​​следующим образом:

Учебник по Java-строкам

В этом уроке вы узнаете

Зачем использовать строки?

Одной из основных функций современной информатики является обработка человеческого языка.

Подобно тому, как числа важны для математики, языковые символы важны для значения и принятия решений. Хотя это может быть невидимым для пользователей компьютеров, компьютеры обрабатывают язык в фоновом режиме так же точно, как калькулятор. Диалоги помощи предоставляют инструкции. Меню предоставляют выбор. Дисплеи данных показывают статусы, ошибки и изменения языка в режиме реального времени.

Как программист на Java, одним из ваших основных инструментов для хранения и обработки языка будет класс String.

Примеры строкового синтаксиса

Теперь давайте перейдем к некоторому синтаксису, в конце концов, нам нужно написать это в коде Java, не так ли?

Строка — это массив символов, представленный в виде:

//String is an array of characters
char[] arrSample = {'R', 'O', 'S', 'E'};
String strSample_1 = new String (arrSample);

В технических терминах строка определяется следующим образом:

= new (argument);

Теперь мы всегда не можем записывать наши строки как массивы; следовательно, мы можем определить строку в Java следующим образом:

//Representation of String
String strSample_2 = "ROSE";

В техническом плане вышесказанное представляется как:

= ;

Строка класса Java расширяет на класс объектов.

Конкатенация строк:

Конкатенация — это соединение двух или более строк.

Посмотрите на картинку ниже

Учебник по Java-строкам

У нас есть две строки str1 = «Rock» и str2 = «Star»

Если мы сложим эти две строки, мы получим результат как str3 = «RockStar».

Проверьте приведенный ниже фрагмент кода, и в нем объясняются два метода выполнения конкатенации строк.

Во- первых использует « Concat » метод класса струнного и второй использует арифметический оператор «+». Оба результата дают одинаковый результат

public class Sample_String{
  public static void main(String[] args){
//String Concatenation
String str1 = "Rock";
String str2 = "Star";
//Method 1 : Using concat
String str3 = str1.concat(str2);
System.out.println(str3);
//Method 2 : Using "+" operator
String str4 = str1 + str2;
System.out.println(str4);
}
}

Важные строковые методы Java:

Учебник по Java-строкам

Давайте зададим классу Java String несколько вопросов и посмотрим, сможет ли он на них ответить;)

Метод строки «Длина»

Как вы будете определять длину данной строки? Я предоставил метод, который называется «длина». Используйте его против строки, вам нужно найти длину.

public class Sample_String{
  public static void main(String[] args){  //Our sample string for this tutorial
  String str_Sample = "RockStar";
  //Length of a String
  System.out.println("Length of String: " + str_Sample.length());}}

вывод:

Length of String: 8

Строка «indexOf» Метод

Если бы я знал длину, как бы я узнал, какой персонаж находится в какой позиции? Короче, как мне найти индекс персонажа?

Вы сами ответили, приятель, есть метод «indexOf», который поможет вам определить местоположение определенного персонажа, который вы укажете.

public class Sample_String{
  public static void main(String[] args){//Character at position
String str_Sample = "RockStar";
System.out.println("Character at position 5: " + str_Sample.charAt(5));
//Index of a given character
System.out.println("Index of character 'S': " + str_Sample.indexOf('S'));}}

Вывод:

Character at position 5: t
Index of character 'S': 4

Строка «CharAt» Метод

По аналогии с приведенным выше вопросом, учитывая индекс, как мне узнать символ в этом месте?

Просто снова! Используйте метод charAt и укажите индекс, символ которого вам нужно найти.

public class Sample_String{
  public static void main(String[] args){//Character at position
String str_Sample = "RockStar";
System.out.println("Character at position 5: " + str_Sample.charAt(5));}}

Вывод:

Character at position 5: t

Строка «CompareTo» Метод

Хочу ли я проверить, равна ли строка, сгенерированная каким-либо методом, чему-то, что я хочу проверить? Как сравнить две строки?

Используйте метод «CompareTo» и укажите строку, которую вы хотите сравнить.

Используйте «CompareToIgnoreCase», если вы не хотите, чтобы результат чувствителен к регистру.

Результат будет иметь значение 0, если строка аргумента равна этой строке; значение меньше 0, если эта строка лексикографически меньше строкового аргумента; и значение больше 0, если эта строка лексикографически больше строкового аргумента.

public class Sample_String{
  public static void main(String[] args){//Compare to a String
String str_Sample = "RockStar";
  System.out.println("Compare To 'ROCKSTAR': " + str_Sample.compareTo("rockstar"));
  //Compare to - Ignore case
  System.out.println("Compare To 'ROCKSTAR' - Case Ignored: " + str_Sample.compareToIgnoreCase("ROCKSTAR"));}}

Вывод:

Compare To 'ROCKSTAR': -32
Compare To 'ROCKSTAR' - Case Ignored: 0

Строка «Содержать» Метод

Я частично знаю, что должна была содержать строка, как я могу подтвердить, содержит ли String последовательность символов, которую я указал?

Используйте метод «содержит» и укажите символы, которые необходимо проверить.

Возвращает true тогда и только тогда, когда эта строка содержит указанную последовательность значений символов.

public class Sample_String{
  public static void main(String[] args){  //Check if String contains a sequence
String str_Sample = "RockStar";
  System.out.println("Contains sequence 'tar': " + str_Sample.contains("tar"));}}

Вывод:

Contains sequence 'tar': true

Строка Метод «заканчивается с»

Как я могу подтвердить, заканчивается ли строка определенным суффиксом? Снова ты ответил на это. Воспользуйтесь методом «концом с» и укажите суффикс в аргументах.

Возвращает true, если последовательность символов, представленная аргументом, является суффиксом последовательности символов, представленной этим объектом.

public class Sample_String{
  public static void main(String[] args){  //Check if ends with a particular sequence
String str_Sample = "RockStar";
  System.out.println("EndsWith character 'r': " + str_Sample.endsWith("r"));}}

Вывод:

EndsWith character 'r': true

Строка «replaceAll» и метод «replaceFirst»

Я хочу изменить свою строку в нескольких местах и ​​заменить несколько частей строки?

Java String Replace, replaceAll и replaceFirst методы. Вы можете указать часть String, которую вы хотите заменить, и String замены в аргументах.

public class Sample_String{
  public static void main(String[] args){//Replace Rock with the word Duke
String str_Sample = "RockStar";
System.out.println("Replace 'Rock' with 'Duke': " + str_Sample.replace("Rock", "Duke"));}}

Вывод:

Replace 'Rock' with 'Duke': DukeStar

Строка Java «tolowercase» и метод Java «touppercase»

Я хочу, чтобы вся моя строка отображалась в нижнем или верхнем регистре?

Просто используйте методы «toLowercase ()» или «ToUpperCase ()» для строк, которые необходимо преобразовать.

public class Sample_String{
  public static void main(String[] args){//Convert to LowerCase
String str_Sample = "RockStar";
System.out.println("Convert to LowerCase: " + str_Sample.toLowerCase());
//Convert to UpperCase
System.out.println("Convert to UpperCase: " + str_Sample.toUpperCase());}}

Вывод:

Convert to LowerCase: rockstar
Convert to UpperCase: ROCKSTAR

Важные моменты, чтобы отметить:

  • Строка — это финальный класс ; т.е. после создания значение не может быть изменено. Таким образом, строковые объекты называются неизменяемыми.
  • Виртуальная машина Java (JVM) создает ячейку памяти специально для строк, которая называется пулом констант строк . Вот почему String можно инициализировать без ключевого слова «new».
  • Строковый класс подпадает под иерархию java.lang.String . Но нет необходимости импортировать этот класс. Платформа Java предоставляет их автоматически.
  • Ссылка на строку может быть переопределена, но это не удаляет содержимое ; т.е. если

Строка h1 = «привет»;

h1 = «привет» + «мир»;

тогда строка «привет» не удаляется. Он просто теряет ручку.

  • Несколько ссылок могут использоваться для одной и той же строки, но это будет происходить в одном и том же месте ; т.е. если

Строка h1 = «привет»;

Строка h2 = «привет»;

Строка h3 = «привет»;

тогда в памяти создается только один пул для строки «привет» с 3 ссылками-h1, h2, h3

  • Если число заключено в «», оно становится строкой , а не числом. Это означает, что если

Строка S1 = «Номер:» + «123» + «456»;

Система. out .println (S1);

тогда он напечатает: номер: 123456

Если инициализация такая:

Строка S1 = «Номер:» + (123 + 456);

Система. out .println (S1);

тогда он напечатает: число: 579 Это все в строки!