24 Ağustos 2012 Cuma

Eclipse ile Çalışmak


Bu yazıda yine bir klasik olarak "Merhaba dünya" uygulaması yazacağız.

İşin aslı, eğer Eclipse ile çalışıyorsanız, bir Merhaba Dünya uygulamasını yazmazsınız, Eclipse sizin için yazar.

Normalde, birazdan 1 dakika içinde yapacağımız programcığı notepad ile yaparlar. Böylece Java ile programlama yaparken aslında herhangi bir IDE'ye veya başka bir programa ihtiyacımız olmadığını anlatırlar. Ama az önce hepimizin bu gerçeği öğrenmesini sağlayan cümleyi yazdığıma göre, biz biraz da Eclipse'i tanıma amacı olarak kullanalım bu yazıyı.

Az önce Eclipse'te yapmış olduğum tüm ayarları sildim ve programı son sürümüne güncelledim. Programı da E:\Develop\Eclipse klasörünün içine taşıdım. Programı ilk olarak açtığımızda karşımıza Workspace'i nereye kurmak istediğimizi soran bir dialog çıkıyor. Buna hem kolaylık olsun, hem de format filan atarken yedek almayı unutmayayım diye, E:\Develop\workspace yazdım. Kutucuğu da işaretleyerek bir daha bu soruyu sormamasını istedim. Zaten eğer istersek, daha sonra Window>Preferences yoluyla açacağımız ayarlarda General>Startup and Shutdown altında Workspaces'a tıkladığımızda, yanda açılan yerde "Prompt for workspace on startup" seçeneğini işaretleyerek bunun sonraki açılışta tekrar açılmasını sağlayabiliriz.

Açılışta çıkan yeri geçmek için, aşağıdaki ekran alıntısında göreceğimiz gibi, sağ üstteki Workbench'e tıklamamız yeterlidir.
Eclipse İlk Açılışı

Burayı geçtikten sonra çalışacağımız alan çıkacak. File menüsü altında New'in üzerine gelip Project'i seçtiğimiz zaman bir dialog çıkacak karşımıza. Burada en üstte hemen Java Project'i göreceğiz zaten. Onu seçip Next'e bastığımızda çıkan yerde projemizi isimlendirdikten sonra, projemiz hazır olacak. Buradaki proje ismi bizim programımızın adı olmayacak. O yüzden istediğimiz her şeyi yazabiliriz. Buraya projedeki amacı açıklayan bir ifade yazalım. Mesela İlk Program yazabiliriz.

Ben, hem gelişimimizi görmek, hem de bir düzen oturtmak adına projeleri numaralandırma taraftarıyım. O yüzden bunu 01 - İlk Proje olarak adlandırıyorum. Tabi ki dediğim gibi bu size kalmış bir şey. Burada bir şeyler anlatırken her seferinde yeni bir proje açıp onu adlandırmayacağımıza göre, kafamıza göre takılabiliriz.

İsimlendirdikten sonra eğer Finish'e basarsanız, sınıfları vs. eklemek size kalacak. Eğer Next'e tıklarsanız da bunları eklemeniz için sihirbaz size yardımcı olacak. İşin açıkçası sihirbazın öyle sihirli güçleri yok. O yüzden Finish'e basıp projeyi oluşturalım. Bu daha kolay bir şekilde işleri halletmemizi sağlayacak.
Java ile ilgili öğreneceğimiz ilk şey, Applet'ler dışında tüm programların main metoduna sahip bir sınıfı olması gerektiğidir.Projenizin ismine sağ tıklayıp New>Class'ı seçerek yeni bir sınıf oluşturacak dialogu açabiliriz. Burada sınıfımıza bir isim veriyoruz ve istersek bir paketin içine dahil ediyoruz. Paketin içine dahil etmek zorunlu bir olay değil ama büyük ihtimalle, programımızı dağıtacağımız zaman bize yardımcı olacaktır. İsimlendirme geleneğine göre "sahip olduğumuz web sitesinin tersten yazılmış halini" paket olarak yazabiliriz. Yani, benim şu anda "com.wordpress.javaogreniyoruz" isimli bir paket yapmam tavsiye ediliyor. Ama zorunlu değil. Dediğim gibi, paket belirlemek bile zorunlu değil, çünkü Eclipse otomatik olarak onu varsayılan paket içine ekleyecektir.

Eclipse ile ilgili de bir şey öğreneceğiz burada. Yukarıda dediğimiz gibi, main metodu (yöntemi) olan bir sınıf oluşturmalıyız. Eclipse'de bunu yapmak kolaydır. Yeni sınıf oluştururken açılan pencerede "Which method stubs would you like to create?" altında "public static void main(String[] args)" seçeneğini işaretleyebiliriz. Alternatif olarak, bunu işaretlemeden sınıfı oluşturup, sonra iki süslü parantez arasına "main" yazıp CTRL+Space'e basarak bize seçenekler sunmasını sağlayabiliriz. Bu durumda tek bir seçenek vardır, o da main method yaratmaktır. Bu şekilde yarattığımızda Eclipse yorum satırı filan eklemiyor, o yüzden biraz daha temiz bir yöntem gibi duruyor.

Şimdi konsol ekranına çıktı verecek olan kodu yazalım:
System.out.println("Buraya istediğimizi yazabiliriz.");
Bu kodu, main metodunun içine yazmamız gerekiyor. Yani, main metodunun sonundaki süslü parantez ({) işareti ile ondan sonraki süslü parantez (}) arasına. Şu anda tam olarak şu satırlara sahibiz sanıyorum:


package deneme;
public class AnaSinif {
    public static void main(String[] args) {
       System.out.println("İstediğimizi yazdığımız yer");
    }
}

Burada package'ın işlevini söylemiştim. Eğer programı dağıtmayı düşünmüyorsak bizim için önemli değil.
Sınıf tanımlanan yer public class AnaSinif satırıdır. Gördüğünüz gibi, sınıftan sonra parantez yok. public ifadesi, onun erişim belirleyicisidir. class ise bir sınıf olduğunu gösteriyor. Bu iki anahtar kelimenin (keyword) de farklı şekilleri var. Dedikleri gibi Java sınıflardan ve nesnelerden oluşur ama bundan daha fazlası da vardır.

public static void main(String[] args) ifadesi ise yöntem belirlemiştir. Burada static ifadesi onun bir nesne olmadan da erişilebileceğini gösteriyor. Statik olmayan yöntemler ve içlerindeki değişken ve sabitlere, o sınıftan türemiş bir nesne yoluyla ulaşabiliriz. Programımızın başlaması için neden bir main metoda ihtiyaç duyduğumuz anlaşılıyor burada. Nesne üretmek için program başlamalı ama programı başlatacak sınıfa nesne olmadan erişemiyoruz. Bu mümkün değil tabi ki.

void ifadesi ise, o yöntemin döndüreceği değişkenin tipini tanımlar. void, metodun (yöntemin) bir değişken döndürmediğini anlatmak için kullanılır. void ifadesi yerine, ilkel veri tipleri (int, double vs.) ve sınıflardan türeyecek nesneleri yazabiliriz. Eğer void dışında bir şey yazarsak, yöntemimizde return birseyler şeklinde bir komutumuz olmalıdır.

main, adından da anlaşılacağı gibi, yöntemimizin, ana yöntemimizin adıdır. Java'da isimlendirme geleneğine göre yöntemleri isimlendirirken küçük harfle başlarız, kolaylık açısından da yeni kelimelere büyük harfle başlarız. Yani, ikinci yöntem adında bir yöntemin adının "ikinciYontem" olarak konulması bir gelenektir.

Parantezler içindeki ifadeler ise, argümanlardır. Bu konuya daha sonra gelelim isterseniz :)

Bir yöntem tanımlanırken, public ve static ifadelerinin alternatiflerini veya kendilerini kullanmak zorunda değiliz. Ama void ifadesini veya yöntemin döndüreceği değeri JVM'nin bilmesi için, yazmak zorundayız. Yazmazsak zaten derlenmez.

System.out.println("İstediğimizi yazdığımız yer"); ifadesine gelecek olursak... Burada System paket ismini (hmm, paketlerin kullanılma sebeplerini yavaş yavaş kavrayacağız sanırım), out sınıf ismini ifade ediyor. println() ise, yöntemi temsil ediyor.

Eclipse ile tanıştık.

Eclipse ile ilgili ufak bir ipucu; System.out.println(); yazmak için sysout yazıp CTRL+Space'e basın.

Burada anlatılanlar, teorik kısmı dışında (yani sadece kod kısmı) size kolay gelmiş olmalı. Eğer böyle düşünüyorsanız, basit ama daha sonra birçok konuda biraz daha farklı yerlere dikkat etmenizi sağlayacak bir şeye göz gezdirebilirsiniz; System.out içinde, ekrana yazı yazdıran tek metot println() değil. print() ve printf() de var. Bunlar arasındaki farklara ve nasıl kullanıldıklarına göz gezdirebilirsiniz. Eğer kullanımını veya aradaki farkı çözemezseniz dert etmeyin, sonraki yazının başında bu konudan kısaca bahsederim :)

Hiç yorum yok:

Yorum Gönder