java substring method tutorial with examples
Bu Eğitim, Java alt dize yöntemini kapsayacaktır. Sözdizimi, kısa Giriş ve Java alt dizesi Örneklerine bir göz atacağız:
Ayrıca, bu yöntemi daha iyi anlamanıza yardımcı olacak önemli senaryo temelli örneklerin yanı sıra sık sorulan soruları da ele alacağız.
Bu Java eğitimini okuduktan sonra, ana dizeden herhangi bir alt dizeyi çıkarmak için kendi programlarınızı oluşturacak ve üzerinde herhangi bir işlemi gerçekleştirebilecek bir konumda olacaksınız.
=> Java Yeni Başlayanlar Kılavuzuna Bir Göz Atın.
Ne öğreneceksin:
Java alt dizesi ()
Hepimizin bildiği gibi, Java alt dizesi ana Dizenin bir parçası olmaktan başka bir şey değildir.
Örneğin ,Bir Dizi 'Yazılım Testi' nde, 'Yazılım' ve 'Test' alt dizelerdir.
Bu yöntem, alt dizeyi ana Dizeden döndürmek veya çıkarmak için kullanılır. Şimdi, ana String'den ayıklama için, substring () yönteminde başlangıç dizinini ve bitiş dizinini belirtmemiz gerekiyor.
Bu yöntemin iki farklı formu vardır. Bu formların her birinin sözdizimi aşağıda verilmiştir.
Sözdizimi:
String substring(int startingIndex); String substring(int startingIndex, int endingIndex);
Bir sonraki bölümde, bu formların her birine yakından bakacağız.
Başlangıç Dizini
Bu bölümde, Java substring () yönteminin ilk biçimini tartışacağız. İlk form, verilen dizinde başlayan ve ardından tüm String boyunca çalışan alt dizeyi döndürür. Dolayısıyla, başlangıç indeksinde bahsettiğiniz her ne olursa olsun, o dizinden tüm String'i döndürecektir.
Aşağıda, substring () yönteminin birinci biçimini kullanarak ayıklamayı gösterdiğimiz program verilmiştir. 'Yazılım Test Yardımı' girdi dizesini aldık ve alt dizeyi dizin 9'dan çıkardık.
Böylece çıktı 'Test Yardımı' olacaktır.
Not: Java String indeksi her zaman sıfır ile başlar.
public class substring { public static void main(String() args) { String str = 'Software testing help'; /* * It will start from 9th index and extract * the substring till the last index */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(9)); } }
Çıktı:
Başlangıç ve Bitiş Dizini
Bu bölümde yöntemin ikinci formundan bahsedeceğiz. Burada, bir girdi String “Java String substring yöntemi” alacağız ve hem başlangıç hem de bitiş indislerini belirterek ikinci formu kullanarak alt dizeyi çıkarmaya çalışacağız.
public class substring { public static void main(String() args) { String str = 'Java String substring method'; /* * It will start from 12th index and extract * the substring till the 21st index */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(12,21)); } }
Çıktı:
web uygulamaları için otomasyon test araçları
Java alt dize örnekleri
Senaryo 1: Belirtilen dizin ana dizede bulunmadığında alt dize yönteminin çıktısı ne olur?
Açıklama: Bu senaryoda, 'Java Programlama' giriş dizgisini alacağız ve indeksi başlangıç ve bitiş indeksleri için sırasıyla 255 ve 350 olarak belirlemeye çalışacağız.
Bildiğimiz gibi String 255 indeks numarasına sahip değilse bir hata atması gerekir. İstisna için önceden tanımlanmış Java kurallarına göre, 'aralık dışı indeks' istisnası atmalıdır. Bunun nedeni, yöntemde belirttiğimiz dizinin verilen String için aralık dışında olmasıdır.
public class substring { public static void main(String() args) { String str = 'Java Programming'; /* * It will throw an error after printing the original String. * The index we have specified is out of range for the * main String. Hence, it will throw 'String index of range' * exception */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(255,350)); } }
Çıktı:
Senaryo 2: Negatif bir indeks değeri verdiğimizde bu yöntemin çıktısı ne olacak?
Açıklama: Burada, bir girdi String 'Java substring Tutorials' alacağız ve negatif başlangıç ve bitiş indeksleri sağlamaya ve programın nasıl yanıt verdiğini kontrol etmeye çalışacağız.
Java String dizini sıfırdan başladığından, dizinde negatif tamsayıları kabul etmemelidir. Bu yüzden program bir istisna atmalıdır.
Belirtilen dizin ana Dizede bulunmadığından, hatanın türü yine 'Aralık dışı dizi dizini' istisnası olmalıdır.
public class substring { public static void main(String() args) { String str = 'Java substring Tutorials'; /* * It will throw an error after printing the original String. * The index we have specified is out of range for the * main String because the String index starts from zero. * It does not accept any negative index value. * Hence, it will throw 'String index of range' exception */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(-5,-10)); } }
Çıktı:
Senaryo 3: Başlangıç ve bitiş dizinlerinde (0,0) sağladığımızda alt dizenin çıktısı ne olur?
Açıklama: Bu da String substring () Java yöntemini anlamak için çok iyi bir senaryodur. Burada, bir girdi String 'Saket Saurav' alacağız ve sıfırıncı indeksten başlayıp sıfırıncı indekste biten alt dizeyi getirmeye çalışacağız.
Programın nasıl tepki verdiğini görmek ilginç olacak.
Başlangıç ve bitiş indekslerimiz aynı olduğundan, bir boşluk döndürmelidir. Ancak, program bu senaryoda başarılı bir şekilde derler.
Başlangıç ve bitiş indekslerinin aynı olduğu tüm bu tür değerler için boş dönecektir. (0,0) veya (1,1) veya (2,2) vb. Olsun.
public class substring { public static void main(String() args) { String str = 'Saket Saurav'; /* * The output will be blank because of the starting and ending * indexes can not be the same. In such scenarios, the * program will return a blank value. The same is applicable * when you are giving the input index as (0,0) or (1,1) or (2,2). * and so on. */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(0,0)); } }
Çıktı:
Sıkça Sorulan Sorular
S # 1) Java'da bir String nasıl alt dizelere bölünür? Aynı Stringi tekrar alt dizelerden nasıl oluşturulur?
Cevap: Aşağıda bir girdi String aldığımız ve String'i başlangıç ve bitiş dizinlerini belirterek alt dizelere böldüğümüz program var.
Yine aynı String'i String concat operatörü yardımıyla alt dizeleri kullanarak oluşturduk.
public class substring { public static void main(String() args) { String str = 'Saket Saurav'; // created two substrings substr1 and substr2 String substr1 = str.substring(0,6); String substr2 = str.substring(6,12); //Printed main String as initialized System.out.println(str); //Printed substr1 System.out.println(substr1); //Printed substr2 System.out.println(substr2); //Printed main String from two substrings System.out.println(substr1 +substr2 ); } }
Çıktı:
S # 2) Java'da bir Dize'nin başka birinin alt dizesi olup olmadığı nasıl bulunur?
Cevap: Aşağıda, 'Alt dizge örneği' girdi dizesini aldığımız program bulunmaktadır. Sonra, bir alt dizeyi getirdik ve bir String değişkeni 'substr' içinde sakladık. Bundan sonra, String'in ana String'in bir parçası olup olmadığını kontrol etmek için Java contains () yöntemini kullandık.
public class substring { public static void main(String() args) { String str = 'Example of the substring'; // created a substring substr String substr = str.substring(8,10); //Printed substring System.out.println(substr); /* * used .contains() method to check the substring (substr) is a * part of the main String (str) or not */ if(str.contains(substr)) { System.out.println('String is a part of the main String'); } else { System.out.println('String is not a part of the main String'); } } }
Çıktı:
S # 3) Java'da substring () yönteminin dönüş türü nedir?
dat dosyaları pencerelerde nasıl açılır
Cevap: Bildiğimiz gibi, String sınıfı Immutable'dır ve substring () yöntemi, String sınıfının dahili bir yöntemidir. String üzerinde her işlem gerçekleştirdiğinizde, sonraki String, döndürülen yeni bir String'dir.
Aynı şey bu yöntemde de olur. Substring () yöntemini her çağırdığımızda, ortaya çıkan String yeni bir String'dir. Dolayısıyla, bu yöntemin Java'daki dönüş türü bir String'dir.
S # 4) Java'da String iş parçacığı güvenli midir?
Cevap: Evet. StringBuffer gibi, String de Java'da iş parçacığı açısından güvenlidir. Bu, String'in yalnızca belirli bir noktada tek bir evre tarafından kullanılabileceği ve aynı anda bir String kullanan iki iş parçacığına izin vermediği anlamına gelir.
S # 5) Bir Stringi başlatmak için iki farklı yaklaşım arasındaki fark nedir?
Dize str1 = 'ABC';
String str2 = new String ('ABC');
Cevap: Her iki kod satırı da size String nesnesini verecektir. Şimdi farklılıkları listeleyebiliriz.
İlk kod satırı, String havuzundan var olan bir nesneyi döndürürken, String'in 'yeni' bir operatör yardımıyla oluşturulduğu ikinci kod satırı, her zaman yığın belleğinde oluşturulan yeni bir nesne döndürür.
Her iki satırda da “ABC” değeri “eşit” olsa da “==” değildir.
Şimdi aşağıdaki programı ele alalım.
Burada üç String değişkenini başlattık. İlk karşılaştırma doğru döndüren str1 ve str2 için '==' referans karşılaştırması temelinde yapılır. Bunun nedeni, String havuzundan aynı mevcut nesneyi kullanmış olmalarıdır.
İkinci karşılaştırma str1 ve str3 üzerinde '==' kullanılarak yapılmıştır, burada referans karşılaştırması farklıdır, çünkü String nesnesi 'yeni' bir operatör yardımıyla yeni oluşturulan str3'ün bir parçasıydı. Bu nedenle yanlış döndü.
Üçüncü karşılaştırma str1 ve str3'ün içerdiği değerleri karşılaştıran “.equals ()” yöntemi yardımıyla yapıldı. Her iki String değişkeninin değeri aynıdır, yani eşittir. Bu nedenle, gerçek oldu.
public class substring { public static void main(String() args) { String str1 = 'ABC'; String str2 = 'ABC'; /* * True because '==' works on the reference comparison and * str1 and str2 have used the same existing object from * the String pool */ System.out.println(str1 == str2); String str3 = new String ('ABC'); /* * False because str1 and str3 have not the same reference * type */ System.out.println(str1==str3); /* * True because '.equals' works on comparing the value contained * by the str1 and str3. */ System.out.println(str1.equals(str3)); } }
Çıktı:
Sonuç
Bu eğiticide, substring () yönteminin farklı biçimlerini tartıştık. Ayrıca, yöntemi ayrıntılı olarak anlamanıza yardımcı olan sık sorulan sorularla birlikte birden fazla senaryo temelli soru ekledik.
Daha fazla okuma = >> MySQL Substring Fonksiyonu
Sözdizimi, programlama örnekleri ve her senaryo ve kavram için ayrıntılı analiz burada yer almaktadır. Bu kesinlikle kendi substring () yöntemi programlarınızı geliştirmenize ve sonraki her String üzerinde farklı String işleme işlemleri gerçekleştirmenize yardımcı olacaktır.
=> Kolay Java Eğitim Serisini Okuyun.
Önerilen Kaynaklar
- Java Dize Eğitimi | Örneklerle Java Dize Yöntemleri
- Java Reverse String: Programlama Örnekleriyle Öğretici
- Java String Split () Yöntemi - Java'da Bir Dizeyi Bölme
- Programlama Örnekleriyle Java Dize Karşılaştırma Yöntemi
- Java Dizesi () Örneklerle Yöntem Eğitimi içerir
- Java String length () Yöntem Örneklerle
- Java String Array- Kod Örnekleriyle Öğretici
- Yeni Başlayanlar İçin JAVA Eğitimi: 100+ Uygulamalı Java Video Eğitimi