# Dize

Adres: https://softwaredictionary.org/tr/terimler/string
Kategori: Programlamanın Temelleri
Son güncelleme: 2026-09-30
İngilizcesi: String
Türkçe karşılığı: karakter dizisi

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şlemleri

```javascript
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.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
