Java'da Karakter Dizisi | Java Karakter Dizisi

Yayınlanan: 2020-12-01

İçindekiler

Tanıtım

Bugün işlediğimiz verilerin çoğunda karakterler var, bir programlama dilinin bir programcıya aşina olması ve karakter verilerini işlemek için bir yol sağlaması durumunda esnek olduğu söylenebilir.

Java'daki char dizileri çok kullanışlı ve kullanımı kolaydır, java'da dizeler değişmezdir ancak char dizisindeki girdileri değiştirebiliriz. Karakter dizileri, listeler ve kümelerle karşılaştırıldığında daha hızlıdır ve hatta kümeler ve listelerden daha basittir.

Şimdi char dizilerinin işleyişini keşfedelim!

Bildirim ve Başlatma

Bir karakter dizisinin bildirimi, Java'daki normal bir dizinin bildirimine benzer. “char[] dizi_adı” veya “char dizi_adı[]”, bildirim için izlenecek sözdizimleridir.

Deklarasyondan sonra yapmamız gereken sonraki şey başlatmadır. “dizi_adı = yeni karakter[dizi_uzunluğu]” izlenecek sözdizimidir. Her neyse, “char array_name[] = new char[array_length]” sözdizimini kullanarak hem bildirimi hem de başlatmayı tek bir şekilde yapabiliriz. Dizinin uzunluğu, bir char dizisinde başlatma sırasında bildirilmelidir.

genel sınıf Testi {

public static void main ( String args[])

{

//bildirim-1

karakter dizisi[];

dizi =yeni karakter [ 4 ];

//bildirim-2

char arr2[] =yeni karakter [ 4 ];

//-1 atama

char arr1[] =yeni karakter []{ ' a ' , ' b ' , ' c ' , ' d ' };

//2 atama

dizi[ 0 ] = ' bir ' ;

dizi[ 1 ] = ' b ' ;

dizi[ 2 ] = ' c ' ;

dizi[ 3 ] = ' d ' ;

sistem . dışarı . println(dizi);

sistem . dışarı . println(dizi1);

}

}

Yukarıdaki snippet'te, bildirim-1 ve bildirim-2, hem bildirim hem de başlatma yollarıdır. Ve 1 atama ve 2 atama, girdileri bir diziye göndermenin her iki yoludur. Bir char dizisi yazdırdığımızda, bir dize olarak birleştirilmiş tüm karakterleri yazdırdığını, yukarıdaki durumda çıktının “abcd” olacağını unutmayın.

Daha fazla bilgi edinin: Java'da Olay İşleme: Bu nedir ve Nasıl Çalışır?

Bir karakter dizisi üzerinde döngü

Bir char dizisi üzerinde döngü yapmak Java'da eğlenceli bir iştir, dizi üzerinde döngü yapmak için normal bir "for döngüsü" veya "for: her biri" döngüsü kullanabiliriz.

// döngü-1

for ( int i = 0 ;i < dizi .uzunluk ; i ++ )

sistem . dışarı . print(dizi[i]);

// döngü-2

için ( char c : arr)

sistem . dışarı . yazdır(c);

Yukarıdaki snippet'te, döngü-1 bir normal for döngüsüdür ve birinci döngünün son çıktısı “abcd” olacaktır. Ve döngü-2 bir for: her döngü ve döngü-2'nin son çıktısı “abcd” olacaktır.

Bir karakter dizisinin uzunluğu, uzunluk özniteliği kullanılarak elde edilebilir. “Array_name.length” izlenecek sözdizimidir.

karakter dizisi[] =yeni karakter []{ ' h ' , ' e ' , ' l ' , ' l ' , ' o ' };

sistem . dışarı . println(dizi . uzunluk);

Yukarıdaki pasaj, beklendiği gibi 5 yazdırır.

Dünyanın En İyi Üniversitelerinden Yazılım Mühendisliği Kurslarına Kaydolun . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Bir Karakter Dizisini Sıralama

Java'daki diziler “Arrays.sort(array_name)” kullanılarak sıralanabilir. Bu, geçirilen karakter dizisini sözlükbilimsel olarak sıralayacaktır.

char [] dizi = { ' h ' , ' e ' , ' l ' , ' l ' , ' o ' };

diziler _ sırala(dizi);

sistem . dışarı . println( Diziler . toString(dizi)); //satır 1

sistem . dışarı . println(dizi); //hat 2

Arrays.sort() ve Arrays.toString()'in çalışmasını sağlamak için Java.util.Arrays'i içe aktarmamız gerektiğine dikkat edin.

Yukarıdaki pasajda, char dizisi sözlükbilimsel olarak sıralanır ve diziyi yazdırmak, birleştirilmiş karakterleri bir dize olarak yazdırır. Çıktıyı birleştirilmiş bir dize olarak almazsanız, bunun yerine tüm diziyi köşeli ayraçlarla yazdırmak istiyorsanız, “line2” çıktısı “ehllo” olacaktır, ardından işi Arrays.toString() yapar. “line1” çıktısı [e, h, l, l, o] olacaktır.

Önceki kod parçacıklarında, dizideki girişleri doldurarak char dizilerini bildirmiştik, peki ya bir dizgiyi char dizisine dönüştürmek istiyorsak?

Her neyse, string uzunluğunda bir char dizisi başlatıyoruz, string üzerinde döngü yapıyoruz ve her karakteri diziye eklemek işi yapacak.

Dize s = merhaba ;

char [] dizi =yeni karakter [s . uzunluk()];

for ( int i = 0 ;i < s . length();i ++ )

dizi[i] = s . charAt(i);

sistem . dışarı . println( Diziler . toString(dizi));

Yukarıdaki pasaj, beklendiği gibi [h, e, l, l,o] yazdıracaktır.

Yukarıdaki pasaj, bir dizgiyi bir karakter dizisine dönüştürme sanatını yapacak, ancak bir dizgiyi bir char dizisine dönüştürmek istediğimiz her zaman bu uzun kodu yazmamız gerekiyor mu?. Eh, cevap HAYIR olacaktır.

Java, bir dizeye uygulanması gereken ve char dizisini döndüren toCharArray() adlı güzel bir yöntem sağlar.

Dize s = aejou ;

karakter [] dizi = s . toCharArray();

sistem . dışarı . println( Diziler . toString(dizi)); //satır 1

dizi[ 2 ] = ' ben ' ;

sistem . dışarı . println( Diziler . toString(dizi)); //hat 2

Beklendiği gibi, “satır1” çıktı olarak [a, e, j, o, u] yazdırır. Ve daha önce tartışıldığı gibi, bir dizgeden farklı olarak, bir karakter dizisinin girişlerini düzenleyebilir veya değiştirebiliriz. Yani 2. satırın çıktısı [a, e, i, o, u] olacaktır.

Artık Java'da bir dizgiyi char dizisine dönüştürmek için bir yöntem gördüğümüze göre, ya tam tersi bir görev istiyorsak?

Boşver java'nın da bu tür görevleri yapmak için bir yöntemi vardır.

karakter [] dizi = { ' h ' , ' e ' , ' y ' , ' ' , ' t ' , ' h ' , ' e ' , ' r ' , ' e ' };

Dize s1 = yeni Dize (dizi); //Yöntem 1

sistem . dışarı . println(s1);

Dize s2 = Dize . değerOf(dizi); //yöntem2

sistem . dışarı . println(s2);

Yukarıdaki pasajda, bir karakter dizisini bir dizgeye dönüştürmek için her iki yöntemi de görebiliriz. Yukarıdaki snippet'in çıktısı, beklendiği gibi "hey orada" olacaktır.

Ayrıca Okuyun: Yeni Başlayanlar İçin 17 İlginç Java Projesi Fikri ve Konusu

Çözüm

Karakter dizilerinin ne olduğunu öğrendik, karakter dizilerini başlatmanın ve bildirmenin çeşitli yollarını öğrendik. Bir karakter dizisi üzerinde döngü yapmak için bir pasajda yürüdü. Önceden tanımlanmış Arrays.sort() yöntemi kullanılarak bir char dizisi sıralandı.

Ve diziden karakter dizisine dönüşümün saf ve önceden tanımlanmış bir uygulamasını gözlemledi, ayrıca çeşitli yöntemler kullanarak tam tersi bir uygulama gözlemledi. Artık karakter dizileri kavramlarını iyice öğrendiğinize göre, bunları uygulamaya başlayın!

Java, OOP'ler ve tam yığın yazılım geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500 saatten fazla sıkı eğitim sunan Tam Yığın Yazılım Geliştirmede Yönetici PG Programına göz atın. 9+ proje ve ödev, IIIT-B Mezun statüsü, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.

Geleceğin Kariyerine Hazırlanın

Yazılım Mühendisliği Yüksek Lisans Programına Hemen Başvur