Kotlinin kieli- ja merkkijonomallit (esimerkkien kanssa)

Tässä artikkelissa opit Kotlin-merkkijonoista, merkkijonoista ja harvoista yleisesti käytetyistä merkkijono-ominaisuuksista ja -toiminnoista esimerkkien avulla.

Kotlin-kieli

Merkkijonot ovat merkkijono. Esimerkiksi "Hello there!"on merkkijono kirjaimellinen.

Kotlinissa kaikki jouset ovat Stringluokan esineitä . Merkitys, merkkijono-literaalit, "Hello there!"jotka toteutetaan tämän luokan esiintyminä.

Kuinka luoda String-muuttuja?

Näin voit määrittää Stringmuuttujan Kotlinissa. Esimerkiksi,

 val myString = "Hei siellä!"

Tässä myString on tyypin muuttuja String.

Voit julistaa muuttujan tyypiksi Stringja määrittää sen tyypin yhdessä lauseessa ja alustaa muuttujan toisessa käskyssä myöhemmin ohjelmassa.

 val myString: Merkkijono … myString = "Howdy"

Kuinka käyttää merkkijonon merkkejä?

Merkkijonon elementtien (merkin) käyttämiseen käytetään indeksin käyttöoperaattoria. Esimerkiksi,

val myString = "Hei siellä!" val item = myString (2)

Tässä nimikemuuttuja sisältää y, myString-merkkijonon kolmannen merkin. Se johtuu siitä, että indeksointi Kotlinissa alkaa 0: sta eikä 1: stä.

val myString = "Hei siellä!" var item: Char item = myString (0) // item sisältää 'H' item = myString (9) // item sisältää '!' item = myString (10) // Virhe! Merkkijonoindeksi on alueen ulkopuolella = myString (-1) // Virhe! Merkkijonoindeksi on alueen ulkopuolella

Esimerkki: Toista merkkijono

Jos haluat toistaa merkkijonon elementtien läpi, voit tehdä sen helposti käyttämällä for-silmukkaa.

 fun main(args: Array) ( val myString = "Hey!" for (item in myString) ( println(item) ) )

Kun suoritat ohjelmaa, tulos on:

 H e y ! 

Kotlinin kielet ovat muuttumattomia

Javan tavoin jouset ovat muuttumattomia Kotlinissa. Tämä tarkoittaa, että et voi muuttaa merkkijonon yksittäistä merkkiä. Esimerkiksi,

var myString = "Hei!" myString (0) = 'h' // Virhe! Jouset

Voit kuitenkin määrittää merkkijonomuuttujan uudelleen, jos ilmoitit muuttujan avainsanalla var. ( Suositeltava lukeminen : Kotlin var Vs val)

Esimerkki: Merkkijonomuuttujan määrittäminen uudelleen.

 fun main(args: Array) ( var myString = "Hey!" println("myString = $myString") myString = "Hello!" println("myString = $myString") )

Kun suoritat ohjelmaa, tulos on:

myString = Hei! myString = Hei!

Jousisoitetut literaalit

Kirjaimellinen on kiinteän arvon lähdekoodiesitys. Esimerkiksi "Hey there!"on merkkijonolitraali, joka näkyy suoraan ohjelmassa ilman laskentaa (kuten muuttujia).

Kotlinissa on kahdenlaisia ​​merkkijono-literaaleja:

1. Pakenut merkkijono

Pakenut merkkijono on saattanut välttää merkkejä niissä. Esimerkiksi,

 val myString = "Hei siellä! n" 

Tässä on pakomerkki, joka lisää uuden rivin tekstiin, missä se näkyy.

Tässä on luettelo Kotlinissa tuetuista pakomerkkeistä:

  • - Lisää-välilehti
  •  - Lisää askelpalautin
  • - Lisää uuden rivin
  • - Lisää kuljetusvaunun
  • \' - Lisää yhden lainausmerkin
  • " - Lisää kaksoislainausmerkin
  • \ - Lisää taaksepäin
  • $ - Lisää dollarimerkin

2. Raaka merkkijono

Raaka merkkijono voi sisältää uusia rivejä (ei uutta rivinvaihtomerkkiä) ja mielivaltaista tekstiä. Raaka merkkijono on rajattu kolminkertaisella lainauksella """. Esimerkiksi,

 fun main(args: Array) ( val myString = """ for (character in "Hey!") println(character) """ print(myString) )

Kun suoritat ohjelmaa, tulos on:

 for (merkki "Hei!") println (merkki)

Voit poistaa raakamerkkijonon johtavat välilyönnit trimMargin () -toiminnon avulla. Esimerkiksi,

Esimerkki: Raakajonon tulostaminen

 fun main(args: Array) ( println("Output without using trimMargin function:") val myString = """ |Kotlin is interesting. |Kotlin is sponsored and developed by JetBrains. """ println(myString) println("Output using trimMargin function:") println(myString.trimMargin()) ) 

Kun suoritat ohjelmaa, tulos on:

Tulos ilman trimMargin-toimintoa: | Kotlin on mielenkiintoinen. | Kotlinia tukee ja kehittää JetBrains. Tulos trimMargin-toiminnolla: Kotlin on mielenkiintoinen. Kotlinia tukee ja kehittää JetBrains.

Oletusarvoisesti trimMargin()funktio käyttää | marginaalin etuliitteenä. Voit kuitenkin muuttaa sitä siirtämällä uuden merkkijonon tälle toiminnolle.

Esimerkki: trimMargin () argumentilla

 fun main(args: Array) ( val myString = """ !!! Kotlin is interesting. !!! Kotlin is sponsored and developed by JetBrains. """ println(myString.trimMargin("!!! ")) )

Kun suoritat ohjelmaa, tulos on:

Kotlin on mielenkiintoinen. Kotlinia tukee ja kehittää JetBrains.

Kotlin String Templates

Kotlin has an awesome feature called string templates that allows strings to contain template expressions.

A string template expression starts with a dollar sign $. Here are few examples:

Example: Kotlin String Template

 fun main(args: Array) ( val myInt = 5; val myString = "myInt = $myInt" println(myString) )

When you run the program, the output will be:

 myInt = 5

It is because the expression $myInt (expression starting with $ sign) inside the string is evaluated and concatenated into the string.

Example: String Template With Raw String

 fun main(args: Array) ( val a = 5 val b = 6 val myString = """ |$(if (a> b) a else b) """ println("Larger number is: $(myString.trimMargin())") )

When you run the program, the output will be:

 Larger number is: 6 

Few String Properties and Functions

Since literals in Kotlin are implemented as instances of String class, you can use several methods and properties of this class.

  • length property - returns the length of character sequence of an string.
  • compareTo function - compares this String (object) with the specified object. Returns 0 if the object is equal to the specfied object.
  • get function - returns character at the specified index.
    You can use index access operator instead of get function as index access operator internally calls get function.
  • plus function - returns a new string which is obtained by the concatenation of this string and the string passed to this function.
    You can use + operator instead of plus function as + operator calls plus function under the hood.
  • subSequence Function - returns a new character sequence starting at the specified start and end index.

Example: String Properties and Function

 fun main(args: Array) ( val s1 = "Hey there!" val s2 = "Hey there!" var result: String println("Length of s1 string is $(s1.length).") result = if (s1.compareTo(s2) == 0) "equal" else "not equal" println("Strings s1 and s2 are $result.") // s1.get(2) is equivalent to s1(2) println("Third character is $(s1.get(2)).") result = s1.plus(" How are you?") // result = s1 + " How are you?" println("result = $result") println("Substring is "$(s1.subSequence(4, 7)) "") )

When you run the program, the output is:

Merkkijonon s1 pituus on 10. Merkkijonot s1 ja s2 ovat yhtä suuret. Kolmas merkki on y. tulos = Hei siellä! Mitä kuuluu? Substring on "the"

Käy Kotlin String -luokassa saadaksesi lisätietoja laajennusten ominaisuuksista, laajennuksista, toiminnoista ja rakentajista.

Mielenkiintoisia artikkeleita...