Какво представляват струните?
Низ в буквални изрази е поредица от знаци. Хей, казахте ли символи, нали това е примитивен тип данни в Java. Да, така че от техническа гледна точка основният Java String е основно набор от символи.
Така че горният ми низ от „ ROSE “ може да бъде представен по следния начин -
В този урок ще научите -
- Какво представляват струните?
- Защо да използвам Strings?
- Примери за синтаксис на низове
- Конкатенация на низове
- Важни методи за низови Java
Защо да използвам Strings?
Една от основните функции на съвременните компютърни науки е обработката на човешки език.
Подобно на това как цифрите са важни за математиката, езиковите символи са важни за значението и вземането на решения. Въпреки че може да не е видим за компютърните потребители, компютрите обработват езика във фонов режим толкова точно и точно, колкото калкулатора. Помощните диалогови прозорци предоставят инструкции. Менютата предоставят избор. И дисплеите с данни показват състояния, грешки и промени в реално време на езика.
Като програмист на Java, един от основните ви инструменти за съхранение и обработка на езика ще бъде класът String.
Примери за синтаксис на низове
Сега, нека да стигнем до някакъв синтаксис, в края на краищата, трябва да напишем това в Java код, нали.
String е масив от символи, представен като:
//String is an array of characterschar[] arrSample = {'R', 'O', 'S', 'E'};String strSample_1 = new String (arrSample);
В технически план, низът е дефиниран, както следва в горния пример -
= new (argument);
Сега винаги не можем да запишем низовете си като масиви; следователно можем да дефинираме String в Java по следния начин:
//Representation of StringString strSample_2 = "ROSE";
В технически план горното се представя като:
= ;
В клас String Java простира на класа Object.
Конкатенация на низове:
Обединяването е свързване на два или повече низа.
Погледнете снимката по-долу
Имаме два струни str1 = “Rock” и str2 = “Star”
Ако съберем тези два низа, трябва да имаме резултат като str3 = “RockStar”.
Проверете кодовия фрагмент по-долу и той обяснява двата метода за извършване на конкатенация на низове.
Първият използва метода “ concat ” от клас String, а вторият използва аритметичен оператор “+”. И двете водят до една и съща продукция
публичен клас Sample_String {публична статична void main (String [] args) {// Конкатенация на низовеString str1 = "Rock";Низ str2 = "Звезда";// Метод 1: Използване на concatНиз str3 = str1.concat (str2);System.out.println (str3);// Метод 2: Използване на оператор "+"Низ str4 = str1 + str2;System.out.println (str4);}}
Важни Java низ методи:
Нека зададем на Java String класа няколко въпроса и да видим дали може да отговори на тях;)
Метод "Дължина" на низа
Как ще определите дължината на даден низ? Предоставих метод, наречен „дължина“. Използвайте го срещу низа, от който се нуждаете, за да намерите дължината.
публичен клас Sample_String {public static void main (String [] args) {// Нашият примерен низ за този урокНиз str_Sample = "RockStar";// Дължина на низSystem.out.println ("Дължина на низа: + str_Sample.length ());}}
изход:
Length of String: 8
Низ Метод "indexOf"
Ако знам дължината, как бих намерил кой герой е в коя позиция? Накратко, как ще намеря индекса на знак?
Сами си отговорихте, приятелю, има метод „indexOf”, който ще ви помогне да определите местоположението на конкретен герой, който сте посочили.
публичен клас Sample_String {public static void main (String [] args) {// Символ в позицияНиз str_Sample = "RockStar";System.out.println ("Символ на позиция 5: + str_Sample.charAt (5));// Индекс на даден знакSystem.out.println ("Индекс на символ 'S': + str_Sample.indexOf ('S'));}}
Изход:
Character at position 5: tIndex of character 'S': 4
Низ Метод "charAt"
Подобно на горния въпрос, като се има предвид индекса, как да разбера характера на това място?
Отново прост !! Използвайте метода “charAt” и предоставете индекса, чийто символ трябва да намерите.
публичен клас Sample_String {public static void main (String [] args) {// Символ в позицияНиз str_Sample = "RockStar";System.out.println ("Символ на позиция 5: + str_Sample.charAt (5));}}
Изход:
Character at position 5: t
Низ Метод "CompareTo"
Искам ли да проверя дали низът, генериран от някакъв метод, е равен на нещо, с което искам да проверя? Как да сравня два струни?
Използвайте метода “compareTo” и посочете низа, който искате да сравните.
Използвайте “compareToIgnoreCase”, в случай че не искате резултатът да бъде чувствителен към малки и големи букви.Резултатът ще има стойност 0, ако аргументният низ е равен на този низ; стойност по-малка от 0, ако този низ е лексикографски по-малък от аргумента на низа; и стойност по-голяма от 0, ако този низ е лексикографски по-голям от аргумента на низа.
публичен клас Sample_String {public static void main (String [] args) {// Сравнение със StringНиз str_Sample = "RockStar";System.out.println ("Сравнение с 'ROCKSTAR': + str_Sample.compareTo ("rockstar"));// Сравнение с - Игнориране на случайSystem.out.println („Сравнение с„ ROCKSTAR “- случай е пренебрегнат:„ + str_Sample.compareToIgnoreCase („ROCKSTAR“));}}
Изход:
Compare To 'ROCKSTAR': -32Compare To 'ROCKSTAR' - Case Ignored: 0
Метод "Съдържа" на низ
Частично знам какво трябва да съдържа низът, как да потвърдя дали низът съдържа поредица от символи, които съм посочил?
Използвайте метода „съдържа“ и посочете знаците, които трябва да проверите.
Връща true ако и само ако този низ съдържа посочената последователност от стойности на char.публичен клас Sample_String {public static void main (String [] args) {// Проверете дали String съдържа поредицаНиз str_Sample = "RockStar";System.out.println ("Съдържа последователност 'tar': + str_Sample.contains ("tar"));}}
Изход:
Contains sequence 'tar': true
Низ "EndWith" Метод
Как да потвърдя, ако даден низ завършва с определен суфикс? Отново отговорихте. Използвайте метода „endsWith“ и посочете суфикса в аргументите.
Връща true, ако символната последователност, представена от аргумента, е суфикс на символната последователност, представена от този обект.публичен клас Sample_String {public static void main (String [] args) {// Проверете дали завършва с определена последователностНиз str_Sample = "RockStar";System.out.println ("EndsWith символ 'r': + str_Sample.endsWith ("r"));}}
Изход:
EndsWith character 'r': true
Низ "replaceAll" и "replaceFirst" Метод
Искам да модифицирам моя низ на няколко места и да заменя няколко части от него?
Java String Replace, replaceAll и replaceFirst методи. Можете да посочите частта от низа, който искате да замените, и заместващия низ в аргументите.
публичен клас Sample_String {public static void main (String [] args) {// Заменете Rock с думата DukeНиз str_Sample = "RockStar";System.out.println ("Заменете 'Rock' с 'Duke': + str_Sample.replace ("Rock", "Duke"));}}
Изход:
Replace 'Rock' with 'Duke': DukeStar
String Метод Java "tolowercase" & Java "touppercase"
Искам целият ми низ да се показва с малки или главни букви?
Просто използвайте методите “toLowercase ()” или “ToUpperCase ()” срещу низовете, които трябва да бъдат преобразувани.
публичен клас Sample_String {public static void main (String [] args) {// Конвертиране в LowerCaseНиз str_Sample = "RockStar";System.out.println ("Конвертиране в LowerCase: + str_Sample.toLowerCase ());// Конвертиране в UpperCaseSystem.out.println ("Конвертиране в UpperCase: + str_Sample.toUpperCase ());}}
Изход:
Convert to LowerCase: rockstarConvert to UpperCase: ROCKSTAR
Важни точки за отбелязване:
- String е финален клас ; т.е. веднъж създадена стойността не може да бъде променяна. По този начин String обектите се наричат неизменяеми.
- Виртуалната машина Java (JVM) създава място в паметта специално за низове, наречено String Constant Pool . Ето защо String може да се инициализира без ключова дума 'new'.
- Низовият клас попада под йерархията на java.lang.String . Но няма нужда да импортирате този клас. Платформата Java ги предоставя автоматично.
- Препратката към низ може да бъде заменена, но това не изтрива съдържанието ; т.е. ако
Низ h1 = "здравей";
h1 = "здравей" + "свят";
тогава "здравей" String не се изтрива. Просто губи дръжката си.
- Могат да се използват множество препратки за един и същ низ, но той ще се появи на едно и също място ; т.е. ако
Низ h1 = "здравей";
Низ h2 = "здравей";
Низ h3 = "здравей";
тогава в паметта се създава само един пул за String „здравей“ с 3 препратки-h1, h2, h3
- Ако числото е цитирано в „”, то става низ , а не число вече. Това означава, че ако
String S1 = "Числото е: + "123" + "456";
Система. излез .println (S1);
след това ще отпечата: Номерът е: 123456
Ако инициализацията е такава:
Низ S1 = "Числото е: + (123 + 456);
Система. излез .println (S1);
след това ще отпечата: Номерът е: 579 Това е всичко за струните!