Liste
Nesnelerin listesini oluşturmak için kullanılır. Dizilere benzer, ancak oluşturulduktan sonra ekleme ve kaldırma işlemleri yapılabilir.
Kullanımı: Liste<SınıfAdı> liste=yeni Liste<SınıfAdı>();
Örnek 1:
Alınacaklar listesi oluşturalım. Ekleme, kaldırma ve getirme işlemlerini yapalım. Son olarak tüm listeyi yazdıralım.
anafonk(){
//"alınacaklar" adında Metin Listesi oluşturalım.
Liste<Metin> alınacaklar=yeni Liste<Metin>();
//Alınacakları listeye ekleyelim.
alınacaklar.ekle("süt");
alınacaklar.ekle("yumurta");
alınacaklar.ekle("ekmek");
alınacaklar.ekle("peynir");
alınacaklar.ekle("zeytin");
alınacaklar.ekle("reçel");
//Listenin ilk elemanını kaldıralım.
alınacaklar.kaldır(0);
//"reçel" elemanını kaldıralım.
alınacaklar.kaldır("reçel");
//Listenin son elemanını yazdıralım.
yazdır(alınacaklar.getir(alınacaklar.boyutu-1));
yazdır("Alınacaklar Listesi");
//Listenin elemanları arasına boşluk bırakarak yazdıralım.
yazdır(Metin.birleştir("\n"m, alınacaklar));
}
Çıktı:
zeytin
Alınacaklar Listesi
yumurta
ekmek
peynir
zeytin
Örnek 2:
Sınıflar bölümünde kullandığımız Ürün sınıfını kullanarak Ürün Listesi yapalım ve yazdıralım.
Ürün.a
genel Metin adı;
genel Sayı fiyatı;
başlatıcı(Metin adı, Sayı fiyatı){
bu.adı=adı;
bu.fiyatı=fiyatı;
}
genel fonk bilgi() yazdır("Adı: {adı}, Fiyatı: {fiyatı}");
AnaSınıf.a
anafonk(){
//"ürünler" adında Ürün Listesi oluşturalım.
Liste<Ürün> ürünler=yeni Liste<Ürün>();
//"ürünler" listesine yeni Ürünler ekleyelim.
ürünler.ekle(yeni Ürün("Kalem", 10));
ürünler.ekle(yeni Ürün("Silgi", 5));
ürünler.ekle(yeni Ürün("Defter", 25));
ürünler.ekle(yeni Ürün("Çanta", 100));
yazdır("Ürünler");
//"ürünler" listesini gezerek listedeki ürünlerin bilgilerini yazdıralım.
döngü(Ürün ürün:ürünler) ürün.bilgi();
}
Çıktı:
Ürünler
Adı: Kalem, Fiyatı: 10.0
Adı: Silgi, Fiyatı: 5.0
Adı: Defter, Fiyatı: 25.0
Adı: Çanta, Fiyatı: 100.0
Hata Kontrol
Program başladığında yada başladıktan sonra hatalar çıkabilir. Hata çıktığında genellikle program sonlandırılır. Hata kontrolü ile kod denenir hata olduğunda başka kodlar çalıştırılabilir.
Kullanımı: dene{<Kod>}yakala(Hata hata){<Hata Olduğunda>}
Örnek:
"notlar" Listesi oluşturalım. 2 not ekleyelim. İlk 5 notu yazdıralım. 5 tane not olmadığı için hata verecektir. Kontrolünü yapalım.
anafonk(){
//"notlar" adında liste oluşturalım.
Liste<Metin> notlar=yeni Liste<Metin>();
//Notlarımızı ekleyelim.
notlar.ekle("Faturaları öde");
notlar.ekle("Haftalık alışveriş");
//İlk 5 notumuzu yazdıralım.
yazdır("İlk 5 Not");
dene{
döngü(Tam s=0; s<5; s++) yazdır(notlar.getir(s));
//İlk 5 notu yazdırmayacaktır çünkü 2 not var.
}
yakala(Hata hata){
yazdır("Not bulunamadı");
yazdır("Hata: {hata}");
//Hata yazdır.
}
sonunda{
yazdır("İşlem Tamamlandı");
//Deneme ve yakalama işlemleri tamamlandı.
}
}
Çıktı:
İlk 5 Not
Faturaları öde
Haftalık alışveriş
Not bulunamadı
Hata: java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
İşlem Tamamlandı
Kendi hatamızı oluşturalım.
Örnek:
Yaş sınırı belirleyelim. Verilen yaş sınırın altındaysa hata döndürsün.
anafonk(){
Tam yaş=10;
dene{
eğer(yaş<18) hataDöndür("Erişim Reddedildi");
olmazsa{
yazdır("Hoşgeldiniz");
}
}
yakala(Hata hata) yazdır("Hata: {hata}");
}
Çıktı:
Hata: java.lang.Exception: Erişim Reddedildi