Dizeler karakter dizileridir. Örneğin, "Merhaba!" 'H', 'e', 'l', 'l', 'o' ve '!' karakterlerinden oluştuğu için bir dizedir. Java'da dizeler nesnelerdir; bu, alanları ve yöntemleri olan bir String sınıfı olduğu anlamına gelir. Dizeleri işlemek için String sınıfının yöntemlerini kullanabiliriz.
adımlar
Yöntem 1/5: Bir Dize Oluşturun
Adım 1. String sınıfının yapıcısını kullanarak bir dize oluşturun
String str = new String("Merhaba!");
Adım 2. Doğrudan bir dize atayarak bir dize oluşturun
Adım 3. Bir örnek deneyin
İşte iki farklı şekilde bir string oluşturan örnek bir program.
public class StringManipulation { public static void main(String args) { String str1 = new String("Bir yapıcı ile oluşturulan dize!"); String str2 = "Bir yapıcı olmadan oluşturulan dize!"; System.out.println(str1); System.out.println(str2); } }
Yöntem 2/5: Bir Dizenin Uzunluğunu Bulun
Adım 1. Bir dizenin uzunluğunu bulmanın ne anlama geldiğini anlayın
Bir dizenin uzunluğu, dizenin içerdiği karakter sayısıdır. Örneğin, "Merhaba!" dizesinin uzunluğu 6 karakter olduğu için 6'dır.
Adım 2. Çağırın
uzunluk()
String nesnesindeki yöntemi ve sonucu bir tamsayı değişkeninde saklayın.
int strLength = str.uzunluk();
Adım 3. Bir şans verin
İşte bir dizgenin uzunluğunu bulan örnek bir program.
public class StringManipulation { public static void main(String args) { String str = "Merhaba!"; int strLength = str.uzunluk(); System.out.println("\"" + str + "\"nin uzunluğu " + strLength + "."); } }
Yöntem 3/5: Bir Dizeyi Tersine Çevirme
Adım 1. Bir dizeyi tersine çevirmenin ne anlama geldiğini anlayın
Bir dizeyi tersine çevirmek, bir dizedeki karakterlerin sırasını değiştirmek anlamına gelir. Örneğin, "Merhaba!" dizesinin tersi. "!olleH" dir. Java'da bir dizeyi tersine çevirmenin birçok yolu vardır.
Adım 2. StringBuffer sınıfının ters yöntemini kullanın
Parametre olarak tersine çevirmek istediğiniz dizeyi alan bir StringBuffer nesnesi oluşturun. StringBuffer'ın reverse() yöntemini kullanın ve ardından toString() yöntemini kullanarak yeni tersine çevrilmiş dizeyi alın.
public class StringManipulation { public static void main(String args) { String str = "Merhaba!"; StringBuffer arabelleği = yeni StringBuffer(str); Ters dizge = buffer.reverse().toString(); System.out.println("\"" + str + "\" dizesinin tersi \"" + reversedStr + "\"."); } }
Adım 3. Bir dizedeki karakterleri tersten yineleyin, bu karakterleri her yinelemede bir StringBuffer'a ekleyin
Parametre olarak tersine çevirmek istediğiniz dizenin uzunluğuyla başlatılan yeni bir StringBuffer nesnesi oluşturun. Ardından, dizedeki son karakterden başlayarak ve dizedeki ilk karakterle biten dize boyunca yineleme yapmak için bir for döngüsü kullanın. Her yinelemede, o dizindeki karakteri StringBuffer'a ekleyin. toString() yöntemini kullanarak yeni ters çevrilmiş dizeyi alın.
public class StringManipulation { public static void main(String args) { String str = "Merhaba!"; StringBuffer arabelleği = new StringBuffer(str.length()); for (int i = str.length() - 1; i >= 0; i--) { buffer.append(str.charAt(i)); } String reversedStr = buffer.toString(); System.out.println("\"" + str + "\" dizesinin tersi \"" + reversedStr + "\"."); } }
Adım 4. Dizeyi tersine çevirmek için özyinelemeli bir işlev yazın
Özyinelemeli işlevde, temel durum/koşul, dizenin boş olması veya dizenin uzunluğunun hiçbirinden küçük veya ona eşit olmasıdır. Aksi takdirde, ilk karakterden ilk karakter çıkarılarak string ile yeniden reverse() yöntemi çağrılır ve ilk karakter sonunda iliştirilir. Bu nedenle, "Merhaba!" dizesini geçersek, bundan sonraki ilk ters() çağrısı "ello!" parametresine sahip olacaktır.
public class StringManipulation { public static void main(String args) { String str = "Merhaba!"; Ters dizgeStr = ters(str); System.out.println("\"" + str + "\" dizesinin tersi \"" + reversedStr + "\"."); } özel statik String ters(Dize str) { if (str == null || str.length() <= 1) return str; geri dönüş ters(str.substring(1)) + str.charAt(0); } }
Adım 5. Dizeyi bir karakter dizisine dönüştürün ve ardından ilk ve son, ikinci ve ikinciyi sondan, vb. değiştirin
karakterler. İlk önce, dizedeki toCharArray() yöntemini kullanarak dizeyi bir karakter dizisine dönüştürün. Dizideki eksi birin uzunluğuna eşit olan dizideki son karakterin dizinini alın. Ardından, i'yi değiştirerek diziyi yineleyinNS karakter ve indexOfLastChar - iNS Her yinelemede karakter. Son olarak, karakter dizisini tekrar bir dizgeye dönüştürün.
public class StringManipulation { public static void main(String args) { String str = "Merhaba!"; char charArray = str.toCharArray(); int indexOfLastChar = charArray.length - 1; for (int i = 0; i < charArray.length/2; i++) { char temp = charArray; charArray = charArray[indexOfLastChar - i]; charArray[indexOfLastChar - i] = sıcaklık; } String reversedStr = new String(charArray); System.out.println("\"" + str + "\" dizesinin tersi \"" + reversedStr + "\"."); } }
Adım 6. Çıktınızı gözden geçirin
İşte dize ters çevirme için bu yöntemlerden herhangi birinden elde edilen çıktı.
Yöntem 4/5: Bir Dizedeki Beyaz Boşluğu Kırp
Adım 1. Bir dizedeki beyaz boşluğu kırpmanın ne anlama geldiğini anlayın
Java'da bir dizeyi kırpmak, dizedeki baştaki ve sondaki beyaz boşluğu kaldırmak anlamına gelir. Örneğin, dizeniz varsa
Selam Dünya!
" ve "Merhaba dünya!" demesini istiyorsanız, başında ve sonunda beyaz boşluk olmadan dizeyi kırpabilirsiniz. String sınıfı, dizenin bir kopyasını döndüren trim() için bir yöntem sağlar. Baştaki ve sondaki beyaz boşluk kaldırıldı veya başında veya sonunda boşluk yoksa orijinal dize.
Adım 2. Boşluğu kırpmak için bir String nesnesi üzerinde String sınıfının trim() yöntemini kullanın
Dize boşsa trim() yönteminin bir istisna atacağını unutmayın. trim() yöntemi, orijinal dizenin içeriğini değiştirmez, çünkü Java'daki dizeler değişmezdir; bu, bir dize oluşturulduktan sonra durumunun değiştirilemeyeceği anlamına gelir. Bunun yerine, trim() yöntemi, boşlukları kırpılmış yeni bir dize döndürür.
String trimmedStr = str.trim();
Adım 3. Bir örnek deneyin
Bir dizgenin beyaz boşluğunu budayan örnek bir program:
public class StringManipulation { public static void main(String args) { String str = " Merhaba! "; String trimmedStr = str.trim(); System.out.println("Orijinal Dizi \"" + str + "\"."); System.out.println("Kesilmiş Dizi \"" + trimmedStr + "\"."); } }
Yöntem 5/5: Bir Dizeyi Böl
Adım 1. Bir dizeyi bölmenin ne anlama geldiğini anlayın
Java'da bir dizeyi bölmek, bir dizeyi belirli bir sınırlayıcıyla bir dizi alt dizeye bölmek anlamına gelir. Örneğin, "kırmızı, mavi, yeşil, sarı, pembe" dizesini sınırlayıcı olarak virgülle bölersem, { "kırmızı", "mavi", "yeşil", "sarı", "pembe" dizisini alırdım " }. İşte bir dizgiyi bölmenin üç farklı yolu.
Adım 2. Kullanım
StringTokenizer
dizeyi belirtmek için.
İçe aktarmak
java.util. StringTokenizer
. Ardından yeni bir örnek oluşturun
StringTokenizer
belirtilecek dize ve parametre olarak sınırlayıcı ile. Sınırlayıcıyı parametre olarak girmezseniz, sınırlayıcı otomatik olarak varsayılan olarak beyaz boşluk olur. sahip olduktan sonra
StringTokenizer
kullanabilirsiniz
sonrakiToken()
Her belirteci alma yöntemi.
java.util. Arrays'i içe aktarın; java.util. StringTokenizer'ı içe aktarın; public class StringManipulation { public static void main(String args) { String str = "kırmızı, yeşil, mavi, sarı, pembe"; StringTokenizer belirteci = new StringTokenizer(str, ", "); int numberOfTokens = tokenizer.countTokens(); String splitArr = new String[numberOfTokens]; for (int i = 0; i < numberOfTokens; i++) { splitArr = tokenizer.nextToken(); } System.out.println("\nOrijinal Dize: " + str); System.out.println("Bölünmüş Dizi: " + Arrays.toString(splitArr) + "\n"); } }
Java 1.4'ten önce,
StringTokenizer
Java'da dizeleri bölmek için class kullanıldı. Ama şimdi, kullanımı
StringTokenizer
cesareti kırılır ve kullanımı
bölmek()
yöntemde
Sicim
sınıfı veya kullanımı
java.util.regex
Adım 3.
Sicim
sınıfın
bölmek()
yöntem.
NS
bölmek()
yöntem, sınırlayıcıyı bir param olarak alacak ve
StringTokenizer
java.util. Arrays'i içe aktarın; public class StringManipulation { public static void main(String args) { String str = "kırmızı, yeşil, mavi, sarı, pembe"; String splitArr = str.split(", "); System.out.println("\nOrijinal Dize: " + str); System.out.println("Bölünmüş Dizi: " + Arrays.toString(splitArr) + "\n"); } }
Adım 4. Dizeyi bölmek için normal ifadeler kullanın
İçe aktarmak
java.util.regex. Desen
. Kullan
derleme()
yöntemi
Desen
sınırlayıcıyı ayarlamak için sınıf ve ardından
bölmek()
Bölmek istediğiniz dizeyi yöntemi. NS
Desen
bir dizi alt dize döndürür.
java.util. Arrays'i içe aktarın; java.util.regex. Pattern'i içe aktarın; public class StringManipulation { public static void main(String args) { String str = "kırmızı, yeşil, mavi, sarı, pembe"; String splitArr = Pattern.compile(", ").split(str); System.out.println("\nOrijinal Dize: " + str); System.out.println("Bölünmüş Dizi: " + Arrays.toString(splitArr) + "\n"); } }
Adım 5. Çıktınızı gözden geçirin
Dizeleri bölmek için bu yöntemlerden herhangi birinden elde edilen çıktı aşağıdadır.