Šioje pamokoje pavyzdžių pagalba sužinosime apie „Java“ stygas, kaip jas sukurti ir įvairius „String“ metodus.
„Java“ eilutė yra simbolių seka. Pavyzdžiui, „labas“ yra eilutė, kurioje yra simbolių „h“, „e“, „l“, „l“ ir „o“ seka.
Mes naudojame dvigubas kabutes, kad atvaizduotume „Java“ eilutę. Pavyzdžiui,
// create a string String type = "Java programming";
Čia mes sukūrėme eilutės kintamąjį, pavadintą tipas. Kintamasis inicijuojamas eilute Java Programming
.
Pastaba : „Java“ eilutės nėra primityvūs tipai (pvz int
. char
, Ir kt.). Vietoj to, visos eilutės yra iš anksto nustatytos klasės objektai, pavadinti String
.
Visi eilutės kintamieji yra String
klasės egzemplioriai .
Pavyzdys: sukurkite eilutę „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 ) )
Ankstesniame pavyzdyje mes sukūrėme tris eilutes, pavadintas pirma, antra ir trečia. Čia mes tiesiogiai kuriame eilutes, tokias kaip primityvūs tipai.
Tačiau yra ir kitas „Java“ eilučių kūrimo būdas (naudojant new
raktinį žodį). Apie tai sužinosime vėliau šioje pamokoje.
„Java“ stygų operacijos
„Java String“ pateikia įvairius metodus, kaip atlikti skirtingas stygų operacijas. Mes panagrinėsime keletą dažniausiai naudojamų stygų operacijų.
1. Gaukite stygos ilgį
Norėdami sužinoti eilutės ilgį, mes naudojame eilutės length()
metodą. Pavyzdžiui,
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); ) )
Rezultatas
Stygos: Sveiki! Pasaulio ilgis: 12
Ankstesniame pavyzdyje length()
metodas apskaičiuoja bendrą eilutės simbolių skaičių ir grąžina jį. Norėdami sužinoti daugiau, apsilankykite „Java String length“ ().
2. Sujunkite dvi stygas
Naudodami concat()
metodą galime sujungti dvi „Java“ eilutes . Pavyzdžiui,
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); ) )
Rezultatas
Pirmoji eilutė: „Java“ Antroji eilutė: programavimas Prisijungė eilutė: „Java“ programavimas
Ankstesniame pavyzdyje mes sukūrėme dvi eilutes, pavadintas pirma ir antra. Atkreipkite dėmesį į pareiškimą,
String joinedString = first.concat(second);
Čia concat()
metodas prisijungia prie pirmojo ir antrojo ir priskiria jį „joinString“ kintamajam.
Taip pat galime sujungti dvi eilutes naudodami „ +
Java “ operatorių. Norėdami sužinoti daugiau, apsilankykite „Java String concat“ ().
3. Palyginkite dvi stygas
Naudodami equals()
metodą „ Java“ galime palyginti dvi eilutes . Pavyzdžiui,
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); ) )
Rezultatas
Pirmos ir antros eilutės yra lygios: tikrosios pirmosios ir trečiosios eilutės yra lygios: netikros
Ankstesniame pavyzdyje mes sukūrėme 3 eilutes, pavadintas pirma, antra ir trečia. Čia mes naudojame equal()
metodą, kad patikrintume, ar viena eilutė yra lygi kitai.
Į equals()
metodas tikrina eilučių turinys, o lyginant juos. Norėdami sužinoti daugiau, apsilankykite „Java String equals“ ().
Pastaba : Mes taip pat galime palyginti dvi eilutes naudodami „ ==
Java “ operatorių. Tačiau šis požiūris skiriasi nuo equals()
metodo. Norėdami sužinoti daugiau, apsilankykite „Java“ eilutėje == vs lygu ().
Java stygų metodai
Be aukščiau paminėtų, „Java“ yra įvairių stygų metodų. Štai keletas iš šių metodų:
Metodai | apibūdinimas |
---|---|
substring () | pateikia eilutės poskyrį |
pakeisti () | nurodytą seną simbolį pakeičia nurodytu nauju simboliu |
charAt () | pateikia simbolį, esantį nurodytoje vietoje |
getBytes () | eilutę paverčia baitų masyvu |
indexOf () | grąžina nurodyto simbolio poziciją eilutėje |
palyginti su() | palygina dvi eilutes žodyno tvarka |
apkarpyti() | pašalina visas pirmaujančias ir galines tarpus |
formatas () | pateikia suformatuotą eilutę |
padalinti () | pertraukia eilutę į eilių masyvą |
toLowerCase () | virtinę paverčia mažosiomis |
toUpperCase () | virtinę paverčia didžiosiomis raidėmis |
vertė() | grąžina nurodyto argumento eilutę |
toCharArray () | eilutę paverčia char masyvu |
„Escape“ simbolis „Java“ eilutėse
Pabėgimo simbolis naudojamas pabėgti nuo kai kurių simbolių, esančių eilutėje.
Tarkime, kad į eilutę turime įtraukti dvigubas kabutes.
// include double quote String example = "This is the "String" class";
Since strings are represented by double quotes, the compiler will treat "This is the " as the string. Hence, the above code will cause an error.
To solve this issue, we use the escape character in Java. For example,
// use the escape character String example = "This is the "String " class.";
Now escape characters tell the compiler to escape double quotes and read the whole text.
Java Strings are Immutable
In Java, strings are immutable. This means, once we create a string, we cannot change that string.
To understand it more deeply, consider an example:
// create a string String example = "Hello! ";
Here, we have created a string variable named example. The variable holds the string "Hello! ".
Now suppose we want to change the string.
// add another string "World" // to the previous tring example example = example.concat(" World");
Here, we are using the concat()
method to add another string World to the previous string.
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,
- JVM takes the first string "Hello! "
- creates a new string by adding "World" to the first string
- assign the new string "Hello! World" to the example variable
- 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.
- Jei eilutė jau yra , nauja eilutė nėra sukurta. Vietoj to nauja nuoroda nurodo esamą eilutę.
- Jei eilutės nėra , sukuriama nauja eilutė.
Tačiau kuriant eilutes naudojant naują raktinį žodį , eilutės vertė tiesiogiai nepateikiama. Taigi nauja eilutė kuriama visą laiką.