Bölüm 11 · SimülasyonDizgi Laboratuvarı? ← Bölüm 11 ◀ Geri Adım ▶ Oynat Sıfırla KapatDizgi LaboratuvarıAmaç: Bir String nesnesinin karakterlerini ve indislerini görerek temel metotların ne döndürdüğünü, değiştirilemezliği (her “değişiklik” yeni bir nesne üretir) ve == ile equals farkını bellek şeması üzerinde izlemek.Nasıl kullanılır?Bir işlem seçin; dizgiyi ve parametreleri (a, b, x, y, Locale) değiştirip Uygula'ya basın. Rastgele bazen geçersiz indis de üretir.Adım ▶ (ya da →) ile ilerleyin. Üstte dizginin hücreleri ve indisleri, sağda bellek şeması (değişkenler → dizgi havuzu / heap'teki nesneler), altta sonuç görünür. Yeni oluşan nesne turuncu, hiçbir değişkenin göstermediği nesne soluk ve kesik çizgilidir.substring(a, b) adımında turuncu çizgiler indisleri karakterlerin arasındaki sınırlar olarak gösterir: a dahil, b hariç; sonuç uzunluğu b − a.Kendini dene açıkken sonucu önce siz tahmin edersiniz (dizgi sonuçlarını tırnaksız yazın; hata bekliyorsanız hata yazın).HatırlatmaGeçerli indisler 0 … length() − 1; dışına çıkan charAt ya da substring StringIndexOutOfBoundsException fırlatır. İleti biçimi Java 21'inkidir; eski sürümlerde metin farklıdır.Parametresiz toUpperCase() makinenin varsayılan diline bağlıdır. Türkçede i → İ ve I → ı; Locale.ENGLISH ile i → I, İ → i̇ (2 karakter!).split parametresi düzenli ifadedir; bu laboratuvar . | * + ? ( ) [ ] { } ^ $ \ içeren ayırıcıları kabul etmez. Sondaki boş parçalar atılır.Değişiklik yoksa (ör. bulunamayan replace, substring(0)) JDK aynı nesneyi döndürür; şemada ok aynı nesneye gider. Hiçbir durumda s'nin içeriği değişmez.İlgili sunum: Bölüm 11 · Dizgiler (İndisleme, Temel Metotlar, Alt Dizgi Sınırları, == ile equals Farkı, Türkçe Karakter ve Locale, Birleştirme ve StringBuilder).