Bu makalede, Örnekler yardımıyla Kotlin dizeleri, dizgi şablonları ve yaygın olarak kullanılan birkaç dizi özelliği ve işlevi hakkında bilgi edineceksiniz.
Kotlin Dizesi
Dizeler bir dizi karakterdir. Örneğin "Hello there!"
, bir dize değişmezidir.
Kotlin'de tüm dizeler String
sınıfın nesneleridir . Yani, gibi dize değişmezleri "Hello there!"
bu sınıfın örnekleri olarak uygulanır.
String değişkeni nasıl oluşturulur?
İşte String
Kotlin'de bir değişkeni nasıl tanımlayacağınız . Örneğin,
val myString = "Merhaba!"
Burada myString bir tür değişkendir String
.
Değişken türü bildirebilir String
ve türünü bir ifadede belirtebilir ve değişkeni daha sonra programda başka bir ifadede başlatabilirsiniz .
val myString: String… myString = "Merhaba"
Bir String'in karakterlerine nasıl erişilir?
Bir dizenin öğelerine (karakterine) erişmek için, indeks erişim operatörü kullanılır. Örneğin,
val myString = "Merhaba!" val öğesi = myString (2)
Burada öğe değişkeni, myString dizesinin üçüncü karakteri olan y'yi içerir. Çünkü Kotlin'de indeksleme 1'den değil 0'dan başlıyor.
val myString = "Merhaba!" var öğe: Karakter öğesi = myString (0) // öğe şunu içerir 'H' öğesi = myString (9) // öğe şunu içerir '!' item = myString (10) // Hata! Dize dizini aralık dışında item = myString (-1) // Hata! Dize dizini aralık dışında
Örnek: Bir Dizede yineleme
Bir dizenin öğelerini yinelemeniz gerekiyorsa, bunu bir for döngüsü kullanarak kolayca yapabilirsiniz.
fun main(args: Array) ( val myString = "Hey!" for (item in myString) ( println(item) ) )
Programı çalıştırdığınızda, çıktı:
H e y !
Kotlin'deki Dizeler Değiştirilemez
Java gibi, dizeler Kotlin'de de değişmez. Bu, bir dizenin bireysel karakterini değiştiremeyeceğiniz anlamına gelir. Örneğin,
var myString = "Hey!" myString (0) = 'h' // Hata! Teller
Bununla birlikte, değişkeni anahtar sözcük kullanarak bildirdiyseniz, bir dize değişkenini yeniden atayabilirsiniz var
. ( Önerilen Okuma : Kotlin var Vs val)
Örnek: Bir Dize Değişkenini Yeniden Atama.
fun main(args: Array) ( var myString = "Hey!" println("myString = $myString") myString = "Hello!" println("myString = $myString") )
Programı çalıştırdığınızda, çıktı:
myString = Hey! myString = Merhaba!
Dize Değişmezleri
Değişmez bilgi, sabit bir değerin kaynak kodu gösterimidir. Örneğin, "Hey there!"
hesaplama gerektirmeden (değişkenler gibi) doğrudan bir programda görünen bir dize değişmezidir.
Kotlin'de iki tür dize değişmezi vardır:
1. Kaçan dize
Çıkış karakterli bir dizenin içinde çıkış karakterleri olabilir. Örneğin,
val myString = "Merhaba! n"
Burada, göründüğü metne yeni bir satır ekleyen bir kaçış karakteridir.
Kotlin'de desteklenen kaçış karakterlerinin listesi:
- Geri boşluğu ekler
- Yeni satır ekler
- Şaryo dönüşünü ekler
\'
- Tek tırnak karakteri ekler"
- Çift tırnak karakteri ekler\
- Ters eğik çizgi ekler$
- Dolar karakteri ekler
2. Ham Dize
Ham bir dize, yeni satırlar (yeni satır kaçış karakteri değil) ve rastgele metin içerebilir. Ham bir dize, üçlü bir alıntı ile sınırlandırılmıştır """
. Örneğin,
fun main(args: Array) ( val myString = """ for (character in "Hey!") println(character) """ print(myString) )
Programı çalıştırdığınızda, çıktı:
for ("Hey!" içindeki karakter) println (karakter)
TrimMargin () işlevini kullanarak bir ham dizenin baştaki beyaz boşluklarını kaldırabilirsiniz. Örneğin,
Örnek: Ham Dizeyi Yazdırma
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()) )
Programı çalıştırdığınızda, çıktı:
TrimMargin işlevi kullanmadan çıktı: | Kotlin ilginç. | Kotlin, JetBrains tarafından desteklenir ve geliştirilir. TrimMargin fonksiyonunu kullanarak çıktı: Kotlin ilginç. Kotlin, JetBrains tarafından desteklenmekte ve geliştirilmektedir.
Varsayılan olarak, trimMargin()
işlev | kenar boşluğu öneki olarak. Ancak, bu işleve yeni bir dizge ileterek bunu değiştirebilirsiniz.
Örnek: trimMargin () ile Bağımsız Değişken
fun main(args: Array) ( val myString = """ !!! Kotlin is interesting. !!! Kotlin is sponsored and developed by JetBrains. """ println(myString.trimMargin("!!! ")) )
Programı çalıştırdığınızda, çıktı:
Kotlin ilginç. Kotlin, JetBrains tarafından desteklenmekte ve geliştirilmektedir.
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 ofget
function as index access operator internally callsget
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 ofplus
function as+
operator callsplus
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:
S1 dizgisinin uzunluğu 10'dur. S1 ve s2 dizgeleri eşittir. Üçüncü karakter y'dir. sonuç = Merhaba! Nasılsın? Alt dize "the" dir
Uzantı özellikleri, uzantılar, işlevler ve yapıcılar hakkında daha fazla bilgi için Kotlin String sınıfını ziyaret edin.