Java'da Dize Kullanımı Hakkında Bilmeniz Gerekenler

Java'da Dize Kullanımı Hakkında Bilmeniz Gerekenler

Java öğrenmeye başladığınızda, benzersiz özellikleri sayesinde String sınıfı dikkatinizi çekecektir.





Java'da dizeleri diğer dillerden daha kolay oluşturabilir ve değiştirebilirsiniz. Bunun nedeni, String sınıfının çeşitli özellikler sunmasıdır.





Bu özelliklere dayanarak, tercihlerinize ve ihtiyaçlarınıza bağlı olarak dizeleri oluşturmanın ve düzenlemenin birkaç yöntemi vardır. Benzer şekilde, çok şey uygulamanıza ve dizelerin nerede kullanılması gerektiğine bağlı olacaktır.





Java Dizeleri Nasıl Farklıdır?

Daha önce C dili ile çalıştıysanız, C'deki dizelerin bir dizi olduğunu bilirsiniz. karakterler (karakterler). Öte yandan, Java dizeleri değişmezdir ve Unicode karakterleri içerir.

ücretsiz tam filmler kayıt yok

Java'da dizeleri benzersiz yapan temel özelliklerden biri birleştirmedir. İki veya daha fazla dizgiyi birleştirmek için sadece + operatörünü kullanın. Bu, aşağıdakiler gibi diğer Java nesneleri ile yapamayacağınız bir şeydir. Puan veya Daire .



Ayrıca, daha önce belirtildiği gibi, Java Dizeleri değişmezdir, yani onları değiştiremezsiniz. Örneğin, gibi yöntemler toUpperCase() ve toLowerCase() mevcut dize içeriğinde değişiklik yapmak yerine tamamen yeni bir dize oluşturun. Şimdi kodunuz bu yeni oluşturulan dizeyi döndürecek.

İlgili: PHP'de Metin Bu İşlevlerle Nasıl İşlenir





Dizelerin farklı olduğu başka bir alan da, C gibi dillerde dizeleri sonlandırmak için boş karakterlerin kullanılmasıdır. Java'da dizeler, karakter dizileri tarafından desteklenen nesnelerdir. Dizenizin içeriğini karakter dizilerinin onları temsil ettiği şekilde okumak istiyorsanız, toCharArray() yöntem işinizi görecektir.

Java'da dizeleri karşılaştırmak, diğer programlama dillerinden daha uygundur. Dizeleri karşılaştırmak için uzun bir kod bloğu yazmak yerine, eşittir() herhangi bir programda kullanılan iki veya daha fazla diziyi karşılaştırma yöntemi. Bunun başlıca nedeni, Java'da eşittir yöntem, dize karşılaştırmasını çocuk oyuncağı yapan String sınıfı tarafından geçersiz kılınır.





Benzer bir notta, Java'da alt diziler içinde arama yapmak da sorunsuzdur. Normal ifadeler kullanırken veya benzeri yöntemler lastIndexOf() ve indeksi(), bir eşleşme tanımlandığında dize segmentlerini arayabilir ve değerleri döndürebilirsiniz. Farklı dizeleri kırpmak ve bölmek için normal ifadeleri de kullanabilir ve bunları herhangi bir programda çok çeşitli kullanımlar için ayrı ayrı kullanabilirsiniz.

Dizeler Bellekte Nasıl Depolanır?

Artık Java'da dizeleri neyin farklı ve faydalı kıldığını bildiğinize göre, hadi String sınıfını keşfedelim. Java'da bellek yönetimi hakkında bir veya iki şey biliyorsanız, bunun iki temel öğesiyle uğraşmış olmalısınız: yığın ve yığın.

Yığın, bir Java programı tarafından çağrıldıktan sonra süreçleri ve işlemleri yürütmek için kullanılırken, yığın, kodu etkin bir şekilde çalıştırmak ve yürütmek için gereken içeriği depolar. Peki, dizeler söz konusu olduğunda bellek yönetimi nasıl önemlidir?

Bunun nedeni, Java'daki String sınıfı ve dize değişmezlerinin farklı muamele görmesidir. Bu, dize sabit değerlerine, yığın belleğinde Dize Sabit Havuzu olarak adlandırılan benzersiz depolama alanı atandığını gösterir. Bu nedenle, Java'da dize nesneleri oluşturmak için dize değişmezlerini kullandığınızda, Dize Sabit Havuzu bunları depolar.

Aksine, kullandığınızda yeni dize nesneleri oluşturmak için anahtar kelime kullanırsanız, Java onlara herhangi bir başka nesne gibi davranacak ve depolama için yığına gönderecektir.

Dize Değişmezleri Örneği

Artık string nesneleri hakkında yeterince bilgi sahibi olduğunuza göre, bir string değişmezi örneğini inceleyelim:


public class muostrings {
public static void main(String args[])
{
String himuo = 'Hello World from MUO';
System. out .println (himuo);
}
}

Burada, dize değişmezi, MUO'dan Hello World içerikleriyle String nesnesini yarattı. Java bu nesneyi String Constant Pool'a gönderir.

Yeni Anahtar Kelimeyi Kullanma

Ayrıca yeni String nesneleri oluşturmak için anahtar kelime.

MUO'dan Hello World içerikli himuo dizesinin dize nesnesi, bir dize değişmezi tarafından oluşturuldu ve Dize Sabit Havuzuna gönderilecek. Benzer şekilde, new anahtar sözcüğü kullanılarak aşağıdaki gibi dize nesneleri de oluşturulabilir:


public class muostringsobj {
public static void main(String args[]) {
char [] strArr = { 'M', 'O', 'U'};
String jStr = new String(strArr);
System. out .println( jStr );
}
}

Yukarıdaki örnek, yeni bir dize nesnesi oluşturmak için anahtar kelime. Daha önce açıklandığı gibi, program tarafından yürütülmeyi bekleyen diğer değişkenler ve nesnelerle birlikte depolandıkları yığına gönderilirler.

Şimdiye kadar, String Constant Pool'u merak ediyor olmalısınız ve haklı olarak öyle. Dize nesnesinin içeriğine göre nesnelere havuz alanı tahsis eder. String Constant Pool nesneleri aldıktan sonra, iki nesnenin tam olarak aynı içeriği içerip içermediğini doğrulamak için onları kontrol eder.

İki Dize Nesnesi Aynı İçeriği Depolayabilir mi?

Yeni bir nesne oluşturmak için bir dize değişmezi kullanıldığında, Java Sanal Makinesi (JVM) nesne içeriğini gözden geçirir ve havuzda zaten var olup olmadığını değerlendirir. Bir nesne havuzda zaten mevcut olan bir içerik içerdiğinde, yeni nesne oluşturulmadan nesnenin başvurusu döndürülür. Yeni nesneyi oluşturmanız gerekiyorsa, içeriğin farklı ve benzersiz olduğundan emin olmalısınız.

Ancak, eğer kullanırsanız yeni yeni bir dize oluşturmak için anahtar kelime, farklı şekilde işlenecektir. kullandığınızda yeni yeni bir dize oluşturmak için anahtar kelime, mevcut dizeyle aynı içeriği içerip içermediğine bakılmaksızın oluşturulur.

Bu, yığın belleğinde depolanan mevcut iki dize nesnesinin aynı içerikleri içermesine izin verildiğini gösterir; bu, String Constant Pool'da depolanan string nesnelerinden farklıdır. Bunu == operatörüyle de kanıtlayabilirsiniz; aynı fiziksel adrese sahip iki nesne karşılaştırılırsa true değerini döndürür.


public class comparingStrngs {
public static void main(String[] args)
{
String firstLiteral = 'muo1';
String secondLiteral = 'muo1';
System. out .println(firstLiteral == secondLiteral);
String firstKeyword = new String('muo2');
String secondKeyword = new String('muo2');
System. out .println(firstKeyword == secondKeyword);
}
}

Artık Java'daki Dizeleri Kolayca Anlayabilirsiniz

Bu makalede, Java'daki dizelerin nasıl farklı olduğunu, Java'da dizeleri kullanmanın yollarını, Java'da dizelerin bellek yönetimini ve dizelerin nasıl çalıştığına ilişkin diğer önemli ayrıntıları öğrendiniz. Anladığınızı test etmek için neden iki dizeyi birleştirmek için bir Java programı yazmıyorsunuz?

Paylaş Paylaş Cıvıldamak E-posta Python'u Öğrenmek? İşte Dizeleri Nasıl Manipüle Edeceğiniz

Python'da dizeleri kullanmak ve işlemek zor görünebilir, ancak aldatıcı bir şekilde basittir.

Sonrakini Oku
İlgili konular
  • Programlama
  • Java
Yazar hakkında Usman Gani(4 Makale Yayınlandı)

Usman, birçok işletmenin dijital platformlarda organik büyümesine yardımcı olan bir içerik pazarlamacısıdır. Hem programlamayı hem de yazmayı seviyor, bu da teknik yazmanın çok hoşlandığı bir şey olduğu anlamına geliyor. Usman, çalışmadığı zamanlarda TV şovları izlemek, kriket izlemek ve veri analitiği hakkında okumak için zaman harcamaktan hoşlanıyor.

Usman Ghani'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın