Java String (с примери)

В този урок ще научим за Java Strings, как да ги създадем и различни методи на String с помощта на примери.

В Java низът е последователност от символи. Например "здравей" е низ, съдържащ поредица от символи 'h', 'e', ​​'l', 'l' и 'o'.

Използваме двойни кавички, за да представим низ в Java. Например,

 // create a string String type = "Java programming";

Тук сме създали низ променлива с име тип. Променливата се инициализира със низа Java Programming.

Забележка : Низовете в Java не са примитивни типове (като int, charи т.н.). Вместо това всички низове са обекти на предварително дефиниран клас с име String.

И всички низови променливи са екземпляри на Stringкласа.

Пример: Създайте низ в Java

 class Main ( public static void main(String() args) ( // create strings String first = "Java"; String second = "Python"; String third = "JavaScript"; // print strings System.out.println(first); // print Java System.out.println(second); // print Python System.out.println(third); // print JavaScript ) )

В горния пример създадохме три низа, наречени първи, втори и трети. Тук директно създаваме низове като примитивни типове.

Има обаче и друг начин за създаване на Java низове (с помощта на newключовата дума). Ще научим за това по-късно в този урок.

Низови операции на Java

Java String предоставя различни методи за извършване на различни операции върху низове. Ще разгледаме някои от често използваните низови операции.

1. Вземете дължина на низ

За да намерим дължината на низ, използваме length()метода на String. Например,

 class Main ( public static void main(String() args) ( // create a string String greet = "Hello! World"; System.out.println("String: " + greet); // get the length of greet int length = greet.length(); System.out.println("Length: " + length); ) )

Изход

Струна: Здравейте! Дължина на света: 12

В горния пример length()методът изчислява общия брой символи в низа и го връща. За да научите повече, посетете Java String length ().

2. Присъединете се към два струни

Можем да свържем два низа в Java, използвайки concat()метода. Например,

 class Main ( public static void main(String() args) ( // create first string String first = "Java "; System.out.println("First String: " + first); // create second String second = "Programming"; System.out.println("Second String: " + second); // join two strings String joinedString = first.concat(second); System.out.println("Joined String: " + joinedString); ) )

Изход

 Първи низ: Java Втори низ: Програмиране Съединен низ: Програмиране на Java

В горния пример създадохме два низа с име първи и втори. Забележете изявлението,

 String joinedString = first.concat(second);

Тук concat()методът се присъединява към първи и втори и го присвоява на променливата joinString.

Също така можем да присъединим два низа, използвайки +оператора в Java. За да научите повече, посетете Java String concat ().

3. Сравнете два струни

В Java можем да правим сравнения между два низа, използвайки equals()метода. Например,

 class Main ( public static void main(String() args) ( // create 3 strings String first = "java programming"; String second = "java programming"; String third = "python programming"; // compare first and second strings boolean result1 = first.equals(second); System.out.println("Strings first and second are equal: " + result1); // compare first and third strings boolean result2 = first.equals(third); System.out.println("Strings first and third are equal: " + result2); ) )

Изход

 Низовете първи и втори са равни: true Низовете първи и трети са равни: false

В горния пример създадохме 3 низа, наречени първи, втори и трети. Тук използваме equal()метода, за да проверим дали един низ е равен на друг.

В equals()проверките метод съдържанието на низове, докато ги сравнява. За да научите повече, посетете Java String equals ().

Забележка : Можем също да сравним два низа, използвайки ==оператора в Java. Този подход обаче е различен от equals()метода. За да научите повече, посетете Java String == vs equals ().

Методи на Java String

Освен споменатите по-горе, в Java има различни низови методи. Ето някои от тези методи:

Методи Описание
подниз () връща подниза на низа
замени () замества посочения стар символ с посочения нов символ
charAt () връща знака, присъстващ в посоченото местоположение
getBytes () преобразува низа в масив от байтове
индекс на() връща позицията на посочения символ в низа
сравни с() сравнява два низа в речника на речника
отрязване () премахва всички водещи и последващи бели пространства
формат () връща форматиран низ
разделяне () разбива низа в масив от низове
toLowerCase () преобразува низа в малки букви
toUpperCase () преобразува низа в главни букви
стойност на() връща низовото представяне на посочения аргумент
toCharArray () преобразува низа в charмасив

Escape символ в Java Strings

Екраниращият символ се използва за избягване на някои от символите, присъстващи в низ.

Да предположим, че трябва да включим двойни кавички в низ.

 // include double quote String example = "This is the "String" class";

Тъй като низовете са представени с двойни кавички , компилаторът ще третира "Това е" като низ. Следователно горният код ще причини грешка.

За да разрешим този проблем, използваме символа за бягство в Java. Например,

 // use the escape character String example = "This is the "String " class.";

Сега символите за бягство казват на компилатора да избяга от двойни кавички и да прочете целия текст.

Java низовете са неизменяеми

В Java низовете са неизменни . Това означава, че след като създадем низ, не можем да го променим.

За да го разберете по-задълбочено, помислете за пример:

 // create a string String example = "Hello! ";

Тук създадохме променлива на име с пример. Променливата съдържа низа „Здравей!“.

Сега да предположим, че искаме да променим низа.

 // add another string "World" // to the previous tring example example = example.concat(" World");

Тук използваме concat()метода, за да добавим друг низ от света към предишния низ.

It looks like we are able to change the value of the previous string. However, this is not true.

Let's see what has happened here,

  1. JVM takes the first string "Hello! "
  2. creates a new string by adding "World" to the first string
  3. assign the new string "Hello! World" to the example variable
  4. the first string "Hello! " remains unchanged

Creating strings using the new keyword

So far we have created strings like primitive types in Java.

Since strings in Java are objects, we can create strings using the new keyword as well. For example,

 // create a string using the new keyword String name = new String("Java String");

In the above example, we have created a string name using the new keyword.

Here, when we create a string object, the String() constructor is invoked. To learn more about constructor, visit Java Constructor.

Note: The String class provides various other constructors to create strings. To learn more, visit Java String (official Java documentation).

Example: Create Java Strings using the new keyword

 class Main ( public static void main(String() args) ( // create a string using new String name = new String("Java String"); System.out.println(name); // print Java String ) )

Create String using literals vs new keyword

Now that we know how strings are created using string literals and the new keyword, let's see what is the major difference between them.

In Java, the JVM maintains a string pool to store all of its strings inside the memory. The string pool helps in reusing the strings.

While creating strings using string literals, the value of the string is directly provided. Hence, the compiler first checks the string pool to see if the string already exists.

  • Ако низът вече съществува , новият низ не се създава. Вместо това новата препратка сочи към съществуващия низ.
  • Ако низът не съществува , се създава новият низ.

Въпреки това, докато създавате низове с помощта на новата ключова дума , стойността на низа не се предоставя директно. Следователно новият низ се създава през цялото време.

Интересни статии...