MegaCrafter
Obsidyen Madencisi
- Mesajlar
- 1,419
- En iyi cevaplar
- 0
- Beğeniler
- 1,542
- Puanları
- 3,070
Merhaba. İşinize yarayabilecek bazı java bilgileriyle yine burdayım Diğer konu uzun olduğu için ona yazmadım. Orada da güzel şeyler var. Bakabilirsiniz. Şimdi başlayalım.
Main metodu
İlk olarak bazı meraklı insanlara main metodunu anlatacağım. Neden public, static, void olmalı ve neden "String[] args" almalı? Anlatalım. Ama önce bir şeyi açıklayayım. Sizin projelerinizi çalıştıran şeye biz Java Runtime diyoruz. Kısaca bilgisayardaki komut istemcisi gibi. Zaten normalde komut istemcisinden çalıştırılıyor kodlar. Ama Eclipse gibi programlar işi kolaylaştırıyor. Java Runtime Environment denilen şey de bu işe yarıyor. Java Runtime için alan veriyor. Şimdi anlatalım:
Main metodu program çalıştığında ilk çalışacak metoddur. Java Runtime'ı harici bir class olarak düşünün. Ona verilen class'ta main metodunu bulacak ve çalıştıracak. Eğer main metodumuz public olmazsa Java Runtime bunu göremez. Bu yüzden public olmak zorunda.
Diğer konumuzda static metodlardan bahsettik. Kısaca static metodların çağırılması için class tanımı yapmak gerekmiyor. Class tanımı yaparken constructor kullanıyoruz. Ama Java Runtime bu constructor'ın ne istediğini nasıl bilsin? Belki private bile olabilir constructor. Bu yüzden class'ın tanımını yapmadan da main metodunu çağırabilmelidir. Main metodu static olursa da class tanımı yapılmadan çağırılabilir. Basit
Void demek, metodun geriye bir şey döndürmediğini gösterir. Zaten main metodunun bir şey döndürmesi ne sizin ne de Java Runtime'ın işine yaramaz. Sadece fazladan "return bir şey" yazmanız gerekir.
"String[] args" alması da doğrulama amaçlı. Yani acaba doğru main metodu mu diye bakıyor. Bu da basit bir şey.
Görünüm anahtar kelimeleri
Private, protected, public, package-private, procted private gibi görünüm anahtar kelimelerinin ne işe yaradığını biliyorsunuzdur belki. Sadece package-private (package-local olarak da geçer) ve protected private'ın işlevlerini bilmiyor olabilirsiniz. Tablomuz aşağıda
Package-Private: Tanımın başına bir şey yazmazsanız olur. Protected ile aynı işlevde. Ama subclass'lar da protected'a erişim sağlayabilir. Package-private'a sağlayamaz. Farkı da budur işte.
Protected Private: Tanımın başına aynısını yazarsanız olur. Eğer tanıma sadece subclass'ların erişebilmesini istiyorsanız kullanırsınız. Bu anahtar kelimelerin hepsi sadece API gibi bir şey yazarken kullanılır. Yani bir program yazarken bütün tanımları public yapsanız da bir şey olmaz.
Do-While Döngüsü
do-while'ın çok az kullanıldığını görüyordum. Aslında bazı durumlarda hayat kurtarabilecek bir şey. While loop yerine do-while loop kullanmanın tek farkı, şartın loop bittikten sonra kontrol edilmesi. Bunu zaten duymuşsunuzdur. Peki ne işimize yarar bu? Şu işe yarar, şartınız ne olursa olsun, bu loop en az bir kere çalışacak. Mesela siz sayı tahmin etme programı yazıyorsunuz. Şöyle göstereyim:
Kodumuzu biraz kısalttı. Bu basit bir örnek olduğu için fazla değişiklik yapmıyor. Ama aynı temel ile daha uzun işlemler yaparken işinize yarar.
Modüler
Modüler operatörünün de neredeyse hiç kullanılmadığını görüyorum. Modüler operatörü, iki sayının bölümünden kalanı verir. Bununla bir sayının diğer sayıya bölünüp bölünmediğini bulabiliriz. Bkz.
İkinci bilgi konumuzun da sonuna geldik. Lütfen eğer hatam varsa bildirin. Umarım yardımcı olur Bir dahaki bölümde synchronized, interface, enum, annotation, abstract anahtar kelimelerini ve nasıl dosya oluşturabileceğinizi, nasıl ona yazı yazabileceğinizi ve nasıl ondan yazı okuyabileceğinizi anlatacağım. Görüşürüz
Main metodu
İlk olarak bazı meraklı insanlara main metodunu anlatacağım. Neden public, static, void olmalı ve neden "String[] args" almalı? Anlatalım. Ama önce bir şeyi açıklayayım. Sizin projelerinizi çalıştıran şeye biz Java Runtime diyoruz. Kısaca bilgisayardaki komut istemcisi gibi. Zaten normalde komut istemcisinden çalıştırılıyor kodlar. Ama Eclipse gibi programlar işi kolaylaştırıyor. Java Runtime Environment denilen şey de bu işe yarıyor. Java Runtime için alan veriyor. Şimdi anlatalım:
Main metodu program çalıştığında ilk çalışacak metoddur. Java Runtime'ı harici bir class olarak düşünün. Ona verilen class'ta main metodunu bulacak ve çalıştıracak. Eğer main metodumuz public olmazsa Java Runtime bunu göremez. Bu yüzden public olmak zorunda.
Diğer konumuzda static metodlardan bahsettik. Kısaca static metodların çağırılması için class tanımı yapmak gerekmiyor. Class tanımı yaparken constructor kullanıyoruz. Ama Java Runtime bu constructor'ın ne istediğini nasıl bilsin? Belki private bile olabilir constructor. Bu yüzden class'ın tanımını yapmadan da main metodunu çağırabilmelidir. Main metodu static olursa da class tanımı yapılmadan çağırılabilir. Basit
Void demek, metodun geriye bir şey döndürmediğini gösterir. Zaten main metodunun bir şey döndürmesi ne sizin ne de Java Runtime'ın işine yaramaz. Sadece fazladan "return bir şey" yazmanız gerekir.
"String[] args" alması da doğrulama amaçlı. Yani acaba doğru main metodu mu diye bakıyor. Bu da basit bir şey.
Görünüm anahtar kelimeleri
Private, protected, public, package-private, procted private gibi görünüm anahtar kelimelerinin ne işe yaradığını biliyorsunuzdur belki. Sadece package-private (package-local olarak da geçer) ve protected private'ın işlevlerini bilmiyor olabilirsiniz. Tablomuz aşağıda
Package-Private: Tanımın başına bir şey yazmazsanız olur. Protected ile aynı işlevde. Ama subclass'lar da protected'a erişim sağlayabilir. Package-private'a sağlayamaz. Farkı da budur işte.
Protected Private: Tanımın başına aynısını yazarsanız olur. Eğer tanıma sadece subclass'ların erişebilmesini istiyorsanız kullanırsınız. Bu anahtar kelimelerin hepsi sadece API gibi bir şey yazarken kullanılır. Yani bir program yazarken bütün tanımları public yapsanız da bir şey olmaz.
Do-While Döngüsü
do-while'ın çok az kullanıldığını görüyordum. Aslında bazı durumlarda hayat kurtarabilecek bir şey. While loop yerine do-while loop kullanmanın tek farkı, şartın loop bittikten sonra kontrol edilmesi. Bunu zaten duymuşsunuzdur. Peki ne işimize yarar bu? Şu işe yarar, şartınız ne olursa olsun, bu loop en az bir kere çalışacak. Mesela siz sayı tahmin etme programı yazıyorsunuz. Şöyle göstereyim:
Kod:
// do-while olmadan
Scanner sc = new Scanner(System.in);
System.out.print("Tahmininiz: ");
int sayı = sc.nextInt();
while (sayı != 5) {
System.out.print("Tahmininiz: ");
sayı = sc.nextInt();
}
// do-while kullanarak
do {
System.out.print("Tahmininiz: ");
int sayı = sc.nextInt();
} while (sayı != 5);
Modüler
Modüler operatörünün de neredeyse hiç kullanılmadığını görüyorum. Modüler operatörü, iki sayının bölümünden kalanı verir. Bununla bir sayının diğer sayıya bölünüp bölünmediğini bulabiliriz. Bkz.
Kod:
private boolean bölünürmü(int bölünen, int bölen) {
return ((bölünen % bölen) == 0) // Yani eğer bölüneni bölene böldüğümüzde kalan 0 oluyorsa tam bölünür demektir.
}
İkinci bilgi konumuzun da sonuna geldik. Lütfen eğer hatam varsa bildirin. Umarım yardımcı olur Bir dahaki bölümde synchronized, interface, enum, annotation, abstract anahtar kelimelerini ve nasıl dosya oluşturabileceğinizi, nasıl ona yazı yazabileceğinizi ve nasıl ondan yazı okuyabileceğinizi anlatacağım. Görüşürüz