Ana içeriğe geç

Dize

İngilizcesi
String
Türkçe karşılığı
karakter dizisi

Günlük kullanımda çoğunlukla İngilizcesi tercih edilir.

Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/string

Kısaca

Dize, bir isim, cümle, URL ya da dosya içeriği gibi metni sıralı bir karakter dizisi olarak temsil eden bir veri türüdür.

Programlamada dize (string) nedir?

Dize, harfler, rakamlar, boşluklar, noktalama işaretleri ve emojiler gibi bir karakter dizisi olarak saklanan bir metin parçasıdır. Çoğu dilde metni "hello" veya 'hello' gibi tırnak içine alarak oluşturursunuz ve her karakterin genellikle 0'dan başlayan, indeks adlı bir konumu vardır. Dizeler en yaygın veri türleri arasındadır; kullanıcı girdisi, mesajlar, dosya yolları, URL'ler ve JSON gibi veri biçimleri için kullanılır.

Arka planda her karakter, bir karakter kodlamasına göre bir sayı olarak saklanır. Modern yazılım, neredeyse her yazı sisteminden karakterlere kod noktası (code point) adı verilen bir sayı atayan Unicode'u kullanır; UTF-8 ve UTF-16 gibi kodlamalar da bu sayıları baytlara dönüştürür. Dize uzunluğunun şaşırtıcı olabilmesinin nedeni budur: JavaScript'te çoğu emojinin length değeri 2'dir, çünkü her biri iki UTF-16 kod birimi kaplar.

Bir dizeyi, her boncuğun bir karakter olduğu ve sıranın önemli olduğu bir kolyedeki boncuklar olarak düşünebilirsiniz. Diller birçok yerleşik dize işlemi sunar: dizeleri birleştirme (concatenation), birinin bir kısmını alma (alt dize, substring), arama, değiştirme, bölme ve harf büyüklüğünü değiştirme. Birçoğu ayrıca JavaScript'teki şablon değişmezleri (template literal) ya da Python'daki f-string'ler gibi metnin içine değer ekleyen dize enterpolasyonunu da destekler.

JavaScript, Python, Java ve C# dahil birçok dilde dizeler değişmezdir (immutable); yani toUpperCase() gibi metotlar orijinali değiştirmek yerine yeni bir dize döndürür. Sık görülen bir karışıklık dize ile karakter arasındadır: Java, C ve C#'ta tek bir karakter için ayrı bir char türü vardır, JavaScript ve Python ise uzunluğu bir olan bir dize kullanır. Bir diğeri, birbirine benzeyen ama farklı davranan '42' dizesi ile 42 sayısı arasındadır; JavaScript'te '42' + 1 sonucu '421' olur.

Önemli noktalar

  • Dize, metni temsil etmek için kullanılan sıralı bir karakter dizisidir.
  • Dize değişmezleri tırnak içinde yazılır ve karakterlere 0'dan başlayan bir indeksle erişilir.
  • Karakterler UTF-8 ve UTF-16 gibi Unicode kodlamalarıyla sayı olarak saklanır.
  • Çoğu popüler dilde dizeler değişmezdir; bu yüzden işlemler yeni dizeler döndürür.
  • '42' dizesi ile 42 sayısı farklı türlerdir.

Örnek

JavaScript'te yaygın dize işlemlerijavascript
const first = "Ada";
const last = "Lovelace";

// Concatenation and a template literal (string interpolation)
const full = first + " " + last;
const greeting = `Hello, ${first}!`;

console.log(full.length);        // 12
console.log(full[0]);            // "A" (indexes start at 0)
console.log(full.toUpperCase()); // "ADA LOVELACE" (a new string)
console.log(full.split(" "));    // ["Ada", "Lovelace"]
console.log("42" + 1);           // "421", not 43

Sık sorulan sorular

Birçok dilde dizeler neden değişmezdir?

Değişmez dizeleri bir programın parçaları ve iş parçacıkları arasında paylaşmak güvenlidir, çünkü hiçbir kod onları beklenmedik biçimde değiştiremez. Ayrıca diller özdeş dizeleri bellekte yeniden kullanabilir ve onları karma tablolarda (hash table) anahtar olarak güvenle kullanabilir.

Dize ile char arasındaki fark nedir?

char tam olarak bir karakter tutar; dize ise sıfır ya da daha fazla karakterden oluşan bir dizi tutar. Java, C ve C#'ta ayrı bir char türü vardır, JavaScript ve Python ise tek bir karakteri uzunluğu bir olan bir dize olarak temsil eder.

Boş dize nedir?

"" olarak yazılan boş dize, sıfır karakterli bir dizedir. Hiç değer olmadığı anlamına gelen null veya undefined'dan farklı olarak gerçek bir dize değeridir.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar