Bu yazıda Java ile string işlemlerini yapan metotları örneklerle açıklayacağız.
String Nedir?
Bir dizi karakterin bir araya getirilmesi ile oluşan bir yapıdır. Javada string temel veri türlerinden biri değildir. Java’da String karakter dizesi olarak oluşturulur.
Örnek: “Merhaba” ifadesini ele alalım. İfade aslında 7 karakterin bir araya getirilmesi ile oluşturulmuştur.
1 2 3 4 5 6 7 8 9 | [0] => M [1] => e [2] => r [3] => h [4] => a [5] => b [6] => a |
String Neden Kullanılır?
Bilgisayarın temel işlevlerinden biri, insan dilini işlemektedir.
Matematik için sayılar nasıl önemli ise, dil sembolleri anlam ve karar verme açısından önemlidir. Kullanıcılar tarafından görülmese de, bilgisayarlar arka planda dilleri bir hesap makinesi olarak hassas ve doğru bir şekilde işlemektedir. Yardım iletişim kutuları talimatları sağlar.
Bir Java programcısı olarak, metinsel ifadeleri işlemek için ana araçlarınızdan biri, String sınıfıdır.
String Yazım Örneği
Şimdi basit bir söz dizimine bakalım. String’in bir karakter dizgesi olduğunu ifade etmiştik. Aşağıdaki gibi de yazılabilir.
1 2 3 4 5 | //String karakter dizesi olarak yazımı char[] ornekdizi = {'M', 'e', 'r', 'h', 'a', 'b', 'a'}; String ornekMetin= new String(ornekdizi); |
Teknik olarak string bu şekilde tanımlanır. Ama her zaman bu şekilde kullanmayız. Hatta çift tırnak ile yazılacak olan metni yazarak işlem yaparız. Aşağıdaki örneği inceleyelim.
1 2 3 4 | //String değer atama String ornekMetin= "Merhaba"; |
String Class’ı Object sınıfından kalıtılmıştır.
Java String Birleştirme
İki yada daha fazla dizgenin birleşmesi anlamına gelir. String sınıfının “concat” metodu birleştirme için kullanıyor ama aritmetik “+” operatörünü kullanarak da birleştirme yapılır. Her ikisi de aynı çıktığı üretir.
1 2 3 4 5 6 7 8 9 10 11 12 13 | //String Birleştirme String str1 = "Merhaba"; String str2 = "Dunya"; //Method 1 : concat String str3 = str1.concat(str2); System.out.println(str3); //Method 2 : "+" operatorü String str4 = str1 + str2; System.out.println(str4); |
String “Length” Method
Belirtilen String nesnesinin karakter uzunluğunu verir.
1 2 3 4 5 | String ornek= "Merhaba dünya"; //Length: String uzunluğu System.out.println("Uzunluk: " + ornek.length()); |
String “indexOf” Methodu
Belirli bir karakterin baştan konumunu öğrenmek için kullanılır.
1 2 3 4 | String metin= "Merhaba Dünya"; System.out.println("'D' harfinin sırası : " + metin.indexOf('D')); |
String “charAt” Methodu
indexOf metoduna benzer şekilde bu sefer de konumu verilen karakeri okur.
1 2 3 4 | String ornek= "Merhaba Dünya"; System.out.println("Konum : " + ornek.charAt(5)); |
String “CompareTo” Methodu
String ifadeleri karşılaştırmak için compareTo metodu kullanılır. Bu metot büyük/küçük fark duyarlı olarak karşılaştırır. Eğer büyük küçük harf duyarlı olmadan karşılatırmak için compareToIgnoreCase metodu kullanılır.
Eğer argüman dizgisi bu dizgeye eşitse sonuç 0 değerine sahip olacaktır; Bu dize, sözdizimsel olarak dize bağımsız değişkeninden daha azsa, 0’dan küçük bir değer; ve bu dize sözdizimsel olarak dize bağımsız değişkeninden büyükse, 0’dan büyük bir değer.
1 2 3 4 5 6 | String metin= "Merhaba Dünya"; System.out.println("CompareTo 'Merhaba Dünya': " + metin.compareTo("Merhaba")); //Compare to Ignore case System.out.println("Compare To 'Merhaba Dünya' - Case Ignored: " + metin.compareToIgnoreCase("MERHABA")); |
String “Contain” Methodu
Belirli bir karakter dizesini içerip içermediğini kontrol etmek için contain metodunu kullanabilirsiniz. Belirtilen dizginin belirtilen char değerleri dizisini içeriyorsa true değerini döndürür.
1 2 3 4 | String ornek= "Merhaba"; System.out.println("Contains 'hab': " + ornek.contains("hab")); |
String “endsWith” Methodu / String Değiştirme
Belirtilen karakter dizgesi belirtilen karakter(ler) ile bitiyorsa true değerini döndürür.
1 2 3 4 | String ornek= "Merhaba"; System.out.println("Son character 'a': " + ornek.endsWith("a")); |
String “replace”, “replaceAll” ,”replaceFirst” Methodları
Java Dize replace , replaceAll ve replaceFirst metodları ile yapılır. Değiştirmek istediğiniz string argumanını parametre olarak geçerek değiştirme işlemi yapılır.
1 2 3 4 | String ornek= "Merhaba Dünya"; System.out.println("'Dünya' -> 'Hayri' : " + ornek.replace("Dünya", "Hayri")); |
String Java “tolowercase” & Java “touppercase” Methodu
Büyük/küçük değişikliği yapmak için kullanılır.
1 2 3 4 5 | String ornek= "merhaba"; System.out.println("küçük harf: " + ornek.toLowerCase()); System.out.println("büyük harf: " + ornek.toUpperCase()); |
Önemli Notlar:
- String nesnelerini final class’tır. Bir kez oluşturulduklarında değiştirilemezler. Bu nedenle string nesneleri immutable olarak adlandırılır.
- Java Virtual Machine(JVM) Stringler için sabit havuzu(Constant Pool) adı verilen bir alan oluşturup buradan çağırım yapar. Bu nedenle new anahtar kelimesi kullanmadan yapılır.
- java.lang.String hierarchy classı içinde yer alır. Ancak import sınıfını dahil etmeye ihtiyaç duymaz.
- String nesneleri override yapılabilir. Ama override yapılırken mevcut nesneyi silmez.
1 2 3 4 | String h1 = "merhaba"; h1 = "merhaba"+"dünya"; |
- Eğer bir sayı “” işaretleri ile ifade edilirse artık String bir ifade olur.
1 2 3 4 | String S1 ="Sayılar Birleştir: "+ "123"+"456"; System.out.println(S1); |
Add Comment