Java Манипулиране на низове с ПРИМЕР

Какво съдържат низовете Java?

Низът в буквален смисъл е поредица от знаци. Хей, казахте ли символи, не е ли примитивен тип данни в Java. Да, така че в техническо отношение, основното Java Низът е основно масив от знаци.

Така че моят горен низ от „ROSE” може да се представи по следния начин –

Java Низ

Защо да използвате Strings?

Една от основните функции на съвременната компютърна наука е обработката на човешкия език.

Подобно на това как числата са важни за математиката, езиковите символи са важни за значението и вземането на решения. Въпреки че може да не се вижда от компютърните потребители, компютрите обработват езика във фонов режим толкова прецизно и точно, колкото калкулатор. Диалоговите прозорци за помощ предоставят инструкции. Менютата предоставят възможности за избор. А дисплеите с данни показват състояния, грешки и промени в езика в реално време.

Като 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 простира - Клас обект.

Конкатенация на низове:

Конкатенацията е свързване на два или повече низа.

Разгледайте снимката по-долу -

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

Имаме два низа str1 = „Rock“ и str2 = „Star“

Ако съберем тези два низа, трябва да имаме резултат като 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

важно Java низови методи:

Java низови методи

Да попитаме Java String class няколко въпроса и вижте дали може да им отговори:

Метод „Дължина“ на низ

Как ще определите дължината на даден низ? Предоставих метод, наречен „дължина“. Използвайте го срещу низа, от който се нуждаете, за да намерите дължината.

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” и посочете низа, който искате да сравните.

Използвайте “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

Метод „Съдържане на низ“.

Отчасти знам какво трябваше да съдържа низът, как да потвърдя дали низът съдържа поредица от символи, които посочвам?

Използвайте метода "съдържа” и посочете знаците, които трябва да проверите.

Връщане вярно ако и само ако този низ съдържа указаната последователност от 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“ и посочете суфикса в аргументите.

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

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. Можете да посочите частта от низа, която искате да замените, и заместващия низ в аргументите.

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 обектите се наричат ​​immutable.
  • - Java Виртуалната машина (JVM) създава място в паметта, специално за извиканите низове String ConstantPool. Ето защо String може да се инициализира без ключова дума „нова“.
  • String клас попада под java.lang.Йерархия на низове. Но няма нужда да импортирате този клас. Java платформата ги предоставя автоматично.
  • Низ препратката може да бъде заменена, но това не изтрива съдържанието; т.е., ако

Низ h1 = „здравей“;

h1 = “здравей”+”свят”;

тогава низът „hello“ не се изтрива. Просто губи дръжката си.

  • Множество препратки може да се използва за същия низ, но ще се случват на едно и също място; т.е., ако

Низ h1 = „здравей“;

Низ h2 = „здравей“;

Низ h3 = „здравей“;

тогава в паметта се създава само един пул за String „hello“ с 3 препратки-h1,h2,h3

  • Ако номерът е цитиран в ” “ тогава то става низ, вече не е число. Това означава, че ако

Низ S1 =”Числото е: “+ “123”+”456”;

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

след това ще отпечата: Числото е: 123456

Ако инициализацията е така:

Низ S1 = „Числото е: „+(123+456);

System.out.println(S1);

тогава ще отпечата: Числото е:579

Това е всичко за Strings!