Strings - Изкуството на Текста
- Теория
- Код
Работа със Strings в Java
Strings в Java са основен компонент в програмирането, представящи поредици от символи. Важно е да разбираме различните операции и методи, свързани с тях.
Основни операции със Strings:
Създаване и основни методи:
- Създаване на String: Създаване чрез директни литерали или конструктора на
String
. - Дължина на String:
.length()
връща броя символи. - Сравняване на Strings:
.equals()
,.equalsIgnoreCase()
, иcompareTo()
за сравняване. - Подстрингове:
.substring()
за извличане на част от string. - Сплитване на Strings:
.split()
разделя string на основата на зададен разделител.
Пример за създаване и сравняване:
String първиТекст = "Hello";
String вториТекст = new String("hello");
System.out.println(първиТекст.length()); // Връща 5
System.out.println(първиТекст.equals(вториТекст)); // false
System.out.println(първиТекст.equalsIgnoreCase(вториТекст)); // true
Преобразуване и манипулиране на Strings:
Преобразуване на данни:
- Преобразуване на Strings в числа: Използване на
Integer.parseInt()
,Double.parseDouble()
и др. за конвертиране на strings в числови стойности. - Форматиране на Strings:
String.format()
позволява форматиране на strings по определен шаблон.
Манипулиране на Strings:
- Конкатенация на Strings: Съединяване на strings чрез
+
оператора или метода.concat()
. - Замяна на символи:
.replace()
заменя определени символи или подстрингове. - Превръщане на букви в главни/малки:
.toUpperCase()
и.toLowerCase()
за промяна на регистъра.
П римери за манипулиране:
String базовТекст = "Java Programming";
String замененТекст = базовТекст.replace("Java", "C++");
System.out.println(замененТекст); // "C++ Programming"
String малкиБукви = базовТекст.toLowerCase();
System.out.println(малкиБукви); // "java programming"
Работа с StringBuilder
и StringBuffer
:
Основни функции:
- Създаване: Инициализация на
StringBuilder
илиStringBuffer
. - Добавяне на текст:
.append()
добавя текст към края. - Обръщане на Strings:
.reverse()
обръща реда на символите. - Вмъкване на текст:
.insert()
вмъква текст на определена позиция. - Изтриване на текст:
.delete()
изт рива текст на определена позиция. - Преобразуване в String:
.toString()
преобразуваStringBuilder
вString
.
Примери за работа с StringBuilder
:
StringBuilder новТекст = new StringBuilder("Java");
новТекст.append(" Programming");
System.out.println(новТекст.toString()); // Извежда "Java Programming"
новТекст.reverse();
System.out.println(новТекст.toString()); // Извежда "gnimmargorP avaJ"
новТекст.insert(0, "Learn ");
System.out.println(новТекст.toString()); // Извежда "Learn gnimmargorP avaJ"
Особености:
- StringBuilder: По-бърз и подходящ за операции, които не изискват thread-safety.
- StringBuffer: Thread-safe, но по-бавен поради синхронизацията на методите.
Специализирани String операции:
- Регулярни изрази: Използване на
.matches()
,.replaceAll()
, и.split()
с регулярни изрази за сложни текстови операции. - Проверка на съдържание:
.startsWith()
,.endsWith()
, и.contains()
за проверка на наличие на определени символи или подстрингове. - Тримване на Strings:
.trim()
премахва начални и крайни празни пространства.
Пример с регулярни изрази:
String текст = "Java123";
boolean съвпадение = текст.matches("Java[0-9]+");
System.out.println(съвпадение); // true
Заключение:
Познаването на различните методи за работа с strings в Java е от съществено значение за всяка програма. От простите операции като създаване и сравняване до сложни манипулации с StringBuilder
и използването на регулярни изрази, strings играят централна роля в програмирането на Java.
Този материал обхваща основните аспекти и предоставя стабилна основа, но е важно да се продължи с изучаването и практикуването на темата за по-дълбоко разбиране.
СИМВОЛНИ НИЗОВЕ (Strings)
В Java, символните низове са представени чрез String
класа. Те са имутабилни, което означава, че не могат да бъдат променени след като са създадени.
Пример:
public class StringsDemo {
public static void main(String[] args) {
// Създаване на Strings
String примеренString = "Примерен текст";
String другПримеренString = new String("Друг примерен текст");
// Операции с Strings
System.out.println("Дължина: " + примеренString.length()); // Дължина на String
System.out.println("Сравняване: " + примеренString.equals(другПримеренString)); // Сравняване на Strings
// П одстринг и сплитване
System.out.println("Подстринг: " + примеренString.substring(0, 7)); // Вземане на подстринг
String[] разделениStrings = друг ПримеренString.split(" "); // Сплитване на String
for (String част : разделениStrings) {
System.out.println("Част: " + част);
}
// Преобразуване и манипулиране на Strings
String числоStr = "100";
int число = Integer.parseInt(числоStr); // Конверти ране на String в число
System.out.println("Форматиране: " + String.format("Стойност: %d", число)); // Форматиране на String
// StringBuilder примери
StringBuilder sb = new StringBuilder("Java");
sb.append(" и Strings"); // Добавяне на текст
System.out.println("StringBuilder: " + sb.toString());
}
}