Java-merkkijono (esimerkkien kanssa)

Tässä opetusohjelmassa opitaan Java-kielistä, niiden luomisesta ja erilaisista merkkijonomenetelmistä esimerkkien avulla.

Java-kielessä merkkijono on merkkijono. Esimerkiksi "hei" on merkkijono, joka sisältää merkkisarjan "h", "e", "l", "l" ja "o".

Käytämme kaksoislainauksia merkkijonon esittämiseen Javassa. Esimerkiksi,

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

Tässä olemme luoneet merkkijonomuuttujan nimeltä tyyppi. Muuttuja alustetaan merkkijonolla Java Programming.

Huom : Strings Java eivät alkukantaiset tyypit (kuten int, charjne). Sen sijaan kaikki merkkijonot ovat ennalta määritetyn luokan objekteja String.

Ja kaikki merkkijonomuuttujat ovat Stringluokan esiintymiä .

Esimerkki: Luo merkkijono Java-kielellä

 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 ) )

Yllä olevassa esimerkissä olemme luoneet kolme merkkijonoa nimeltä ensimmäinen, toinen ja kolmas. Täällä luomme suoraan merkkijonoja, kuten primitiivisiä tyyppejä.

On kuitenkin olemassa toinen tapa luoda Java-merkkijonoja (käyttämällä newavainsanaa). Opimme siitä myöhemmin tässä opetusohjelmassa.

Java-merkkijonotoiminnot

Java-merkkijono tarjoaa erilaisia ​​tapoja suorittaa erilaisia ​​toimintoja merkkijonoille. Tarkastelemme joitain yleisesti käytettyjä merkkijono-operaatioita.

1. Hanki merkkijonon pituus

Merkkijonon pituuden löytämiseksi käytämme length()merkkijonomenetelmää. Esimerkiksi,

 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); ) )

Tuotos

Merkkijono: Hei! Maailman pituus: 12

Edellä olevassa esimerkissä length()menetelmä laskee merkkijonon merkkien kokonaismäärän ja palauttaa sen. Lisätietoja on Java String length () -sivulla.

2. Liitä kaksi merkkijonoa

Voimme liittää kaksi merkkijonoa Javassa concat()menetelmällä. Esimerkiksi,

 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); ) )

Tuotos

 Ensimmäinen merkkijono: Java Toinen merkkijono: Ohjelmointi Yhdistetty merkkijono: Java-ohjelmointi

Yllä olevassa esimerkissä olemme luoneet kaksi merkkijonoa nimeltä ensimmäinen ja toinen. Huomaa lausunto,

 String joinedString = first.concat(second);

Tässä concat()menetelmä yhdistetään ensimmäiseen ja toiseen ja osoitetaan se joinString-muuttujaan.

Voimme myös liittää kaksi merkkijonoa +Java-operaattorin avulla. Jos haluat lisätietoja, käy Java String concatissa ().

3. Vertaa kahta merkkijonoa

Java-tilassa voimme verrata kahta merkkijonoa equals()menetelmän avulla. Esimerkiksi,

 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); ) )

Tuotos

 Ensimmäiset ja toiset merkkijonot ovat samat: tosi Merkkijonot ensimmäinen ja kolmas ovat samat: väärät

Yllä olevassa esimerkissä olemme luoneet 3 merkkijonoa nimeltä ensimmäinen, toinen ja kolmas. Tässä käytämme equal()menetelmää tarkistamaan, onko yksi merkkijono yhtä suuri kuin toinen.

equals()Menetelmä tarkistaa sisällön jouset verratessaan niitä. Lisätietoja on osoitteessa Java String equals ().

Huomaa : Voimme myös verrata kahta merkkijonoa ==Java-operaattorin avulla. Tämä lähestymistapa on kuitenkin erilainen kuin equals()menetelmä. Jos haluat lisätietoja, käy Java String == vs yhtä kuin ().

Java-merkkijonon menetelmät

Edellä mainittujen lisäksi Java-ohjelmassa on useita merkkijonomenetelmiä. Tässä on joitain näistä menetelmistä:

Menetelmät Kuvaus
substing () palauttaa merkkijonon alaosan
korvata() korvaa määritetyn vanhan merkin määritetyllä uudella merkillä
charAt () palauttaa määritetyssä paikassa olevan merkin
getBytes () muuntaa merkkijonon tavujoukoksi
sisällysluettelo() palauttaa määritetyn merkin sijainnin merkkijonossa
vertaa() vertaa kahta merkkijonoa sanakirjajärjestyksessä
trimmata() poistaa kaikki etu- ja takareitit
muoto() palauttaa alustetun merkkijonon
jakaa() hajottaa merkkijonon joukoksi merkkijonoja
toLowerCase () muuntaa merkkijonon pieniksi
toUpperCase () muuntaa merkkijonon isoksi
jonkin arvo() palauttaa määritetyn argumentin merkkijonon
toCharArray () muuntaa merkkijonon chartaulukoksi

Escape-merkki Java-kielissä

Pakomerkkiä käytetään paeta joistakin merkkijonossa olevista merkeistä.

Oletetaan, että meidän on sisällytettävä merkkijonoon kaksoislainausmerkit.

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

Koska merkkijonot on esitetty lainausmerkeissä , kääntäjä käsittelee merkkijonona "Tämä on". Siksi yllä oleva koodi aiheuttaa virheen.

Tämän ongelman ratkaisemiseksi käytämme Java-pakomerkkiä. Esimerkiksi,

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

Nyt pakomerkit käskevät kääntäjää välttämään kaksoislainausmerkit ja lukemaan koko tekstin.

Java-kielet ovat muuttumattomia

Javassa merkkijonot ovat muuttumattomia . Tämä tarkoittaa, että kun luot merkkijonon, emme voi muuttaa merkkijonoa.

Harkitse esimerkkiä ymmärtääksesi sen syvemmin.

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

Tässä olemme luoneet merkkijonomuuttujan nimeltä esimerkki. Muuttuja pitää merkkijonoa "Hello!".

Oletetaan nyt, että haluamme vaihtaa merkkijonoa.

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

Tässä käytämme concat()menetelmää uuden merkkijonon lisäämiseen edelliseen merkkijonoon.

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.

  • Jos merkkijono on jo olemassa , uutta merkkijonoa ei luoda. Sen sijaan uusi viite viittaa olemassa olevaan merkkijonoon.
  • Jos merkkijonoa ei ole , uusi merkkijono luodaan.

Vaikka merkkijonoja luodaan uudella avainsanalla , merkkijonon arvoa ei kuitenkaan anneta suoraan. Siksi uusi merkkijono luodaan koko ajan.

Mielenkiintoisia artikkeleita...