Java Манипуляции со строками с EXAMPLE
Что такое строки в Java?
Строка в буквальном смысле представляет собой последовательность символов. Эй, ты сказал символы, разве это не примитивный тип данных в Java. Да, так что в техническом плане базовый Java Строка — это, по сути, массив символов.
Итак, моя приведенная выше строка «ROSE» можно представить следующим образом –
Зачем использовать строки?
Одной из основных функций современной информатики является обработка человеческого языка.
Подобно тому, как числа важны для математики, языковые символы важны для смысла и принятия решений. Хотя это может быть незаметно для пользователей компьютеров, компьютеры обрабатывают язык в фоновом режиме так же точно, как и калькулятор. Диалоговые окна помощи содержат инструкции. Меню предоставляют выбор. А на дисплеях данных отображаются статусы, ошибки и изменения языка в реальном времени.
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";
В техническом плане вышеизложенное представляется так:
= ;
Команда Класс String Java продолжается Класс объекта.
Конкатенация строк:
Конкатенация — это объединение двух или более строк.
Посмотрите на картинку ниже-
У нас есть две строки str1 = «Рок» и str2 = «Звезда».
Если мы сложим эти две строки, мы должны получить результат str3= «RockStar».
Проверьте приведенный ниже фрагмент кода, и он объясняет два метода выполнения конкатенации строк.
Сначала используется «CONCAT” класса String, а второй использует арифметический оператор “+”. Оба результата дают один и тот же результат
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); } }
Ожидаемый результат:
RockStar RockStar
Важнo 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
Строковый метод «Содержать»
Я частично знаю, что должна была содержать строка. Как мне проверить, содержит ли строка указанную мной последовательность символов?
Используйте метод «содержит» и укажите символы, которые нужно проверить.
Returns правда тогда и только тогда, когда эта строка содержит указанную последовательность значений char.
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
Строковый метод «endsWith»
Как проверить, заканчивается ли строка определенным суффиксом? Опять ты ответил. Используйте метод «endsWith» и укажите суффикс в аргументах.
Returns правда если последовательность символов, представленная аргументом, является суффиксом последовательности символов, представленной этим объектом.
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 Строковые методы replace, replaceAll и replaceFirst. Вы можете указать в аргументах часть строки, которую хотите заменить, и заменяющую строку.
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 «в нижний регистр» и Java Метод «верхний регистр»
Я хочу, чтобы вся моя строка отображалась в нижнем или верхнем регистре?
Просто используйте методы «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
Важные моменты, чтобы отметить:
- String — это финальный класс; т.е. однажды созданное значение не может быть изменено. Таким образом, объекты String называются неизменяемыми.
- Команда Java Виртуальная машина (JVM) создает область памяти специально для строк, называемую Пул строковых констант. Вот почему String можно инициализировать без ключевого слова «новое».
- Класс String подпадает под java.lang.Иерархия строк. Но нет необходимости импортировать этот класс. Java платформа предоставляет их автоматически.
- строка ссылку можно переопределить, но это не удалит содержимое; то есть, если
Строка h1 = «привет»;
h1 = «привет» + «мир»;
тогда строка «привет» не удаляется. Он просто теряет свою ручку.
- Несколько ссылок можно использовать для той же строки, но это будет происходить в том же месте; то есть, если
Строка h1 = «привет»;
Строка h2 = «привет»;
Строка h3 = «привет»;
тогда в памяти создается только один пул для строки «привет» с 3 ссылками — h1,h2,h3
- Если номер указан в ” “ Затем это становится строкой, уже не число. Это означает, что если
String S1 = «Число: «+ «123» + «456»;
Система.внешний.println(S1);
затем он напечатает: Число: 123456.
Если инициализация такая:
String S1 = «Число: «+(123+456);
System.out.println(S1);
тогда он напечатает: Число: 579.
Это все, что касается струн!