- Konu sahibi
- #1
Java öğrenmeye başlamak için önce bir JDK kurun, ardından komut satırında küçük bir programı derleyip çalıştırın. Sonra değişkenler, koşullar, döngüler, metotlar, sınıflar ve nesneler sırasıyla öğrenilmelidir. Bu temel oturduktan sonra koleksiyonlar, istisnalar, dosya işlemleri, Git ve bir yapı aracıyla gerçek projelere geçebilirsiniz. İlk hedefiniz yalnızca sözdizimini ezberlemek değil, yazdığınız kodun nasıl derlendiğini, nasıl çalıştığını ve aldığı sonucun ne anlama geldiğini anlamak olmalıdır.
Java ile program geliştirmek için JDK (Java Development Kit) gerekir. JDK; Java kaynak kodunu derleyen
Java uygulamalarının çalışma mantığını şu şekilde düşünebilirsiniz:
JDK'yı işletim sisteminize uygun biçimde kurduktan sonra terminali veya Komut İstemi'ni açın ve şu komutları çalıştırın:
Her iki komut da bir sürüm bilgisi döndürürse kurulum temel geliştirme için hazırdır.
Sürüm numarasının görünmesi tek başına Java öğrendiğinizi kanıtlamaz; yalnızca geliştirme araçlarının işletim sistemi tarafından bulunabildiğini gösterir.
Yeni bir klasör oluşturun. Örneğin bu klasörün adı
Burada
Dosyayı kaydettikten sonra terminali bu klasörde açın ve işlemleri sırayla yapın:
Dosya adı ile
İlk örnekten sonra doğrudan bir web çatısı veya Android projesine geçmek yerine dilin temel yapılarını küçük örneklerle çalışın. Önerilen sıra şöyledir:
Oracle'ın Java diline ilişkin öğrenme yolunda değişkenler, veri türleri, işleçler ve kontrol akışı; ardından sınıflar, nesneler, kalıtım, arayüzler, jenerikler ve paketler ele alınır. Eski Java eğitimlerinin bazıları JDK 8 için hazırlanmıştır; temel kavramlar hâlâ yararlı olsa da güncel sürüm özelliklerini öğrenirken kullanılan JDK sürümünün belgelerini ayrıca kontrol etmek gerekir.
Konu başlıklarını yalnızca okuyarak ilerlemek yerine her aşamada çalışan küçük bir uygulama yazın. Başlangıç için şu projeler uygundur:
Bir uygulama çalıştığında yalnızca doğru sonucu değil, yanlış girdilerde ne olduğunu da kontrol edin. Örneğin sayı beklenen yerde harf girildiğinde, boş değer verildiğinde veya bölme işleminde bölen sıfır olduğunda programın davranışını ayrı ayrı gözlemleyin. Beklenmeyen sonuç alırsanız önce girilen değeri, veri türünü, koşulun karşılaştırmasını ve döngünün kaç kez çalıştığını kontrol edin. Hata mesajını olduğu gibi okumak yerine mesajdaki dosya adı ve satır numarasını inceleyin; çoğu derleme hatası sorunun bulunduğu yeri doğrudan gösterir.
İlk programları komut satırında derleyip çalıştırmanız, Java'nın temel akışını anlamanızı sağlar. Daha sonra bir IDE kullanabilirsiniz. IDE; kod tamamlama, hata gösterme, proje yönetimi ve hata ayıklama gibi kolaylıklar sunar. Ancak IDE'nin kodu sizin yerinize anlamasını beklemeyin; derleme ve çalıştırma mantığını bilmezseniz bir hata oluştuğunda sorunun kaynağını ayırmak zorlaşır.
Birden fazla dosyadan oluşan projelerde paket yapısını kullanın ve kaynak kodunu düzenli klasörlerde tutun. Proje büyüdüğünde bağımlılıkları ve derleme işlemlerini yönetmek için Maven veya Gradle gibi araçlardan birini öğrenebilirsiniz. Bu araçlara başlamadan önce sınıf, paket, metot ve koleksiyon kavramlarını temel düzeyde kullanabiliyor olmanız gerekir.
Java'yı hangi alanda kullanacağınızı da bu aşamadan sonra seçin:
Hedef alan değişse de başlangıç sırası büyük ölçüde aynıdır. Android veya sunucu geliştirme araçlarına erken geçmek, Java dilindeki eksikleri gizleyebilir; bu nedenle önce küçük, bağımsız konsol programlarıyla temel akışı kurun. Her yeni konuda çalışır bir örnek yazın, çıktıyı beklenen sonuçla karşılaştırın ve kodu küçük değişikliklerle yeniden çalıştırın.
Önce Java çalışma ortamını hazırlayın
Java ile program geliştirmek için JDK (Java Development Kit) gerekir. JDK; Java kaynak kodunu derleyen
javac aracını, programı çalıştıran java komutunu ve geliştirme için gerekli diğer araçları içerir. Yalnızca Java programı çalıştırmak geliştirme için yeterli değildir; başlangıçta JDK kurulmalıdır.Java uygulamalarının çalışma mantığını şu şekilde düşünebilirsiniz:
| Terim | Görevi |
|---|---|
| JDK | Java kodu yazmak, derlemek ve çalıştırmak için kullanılan geliştirme paketi. |
| JVM | Derlenmiş Java kodunu çalıştıran sanal makine. |
| Kaynak dosya | Programcının yazdığı, genellikle .java uzantılı metin dosyası. |
| Sınıf dosyası | Derleme sonucunda oluşan, JVM'nin çalıştırabildiği .class dosyası. |
Kod:
java --version
javac --version
Her iki komut da bir sürüm bilgisi döndürürse kurulum temel geliştirme için hazırdır.
java çalışıyor, javac bulunamıyorsa büyük olasılıkla yalnızca çalışma ortamı erişilebilir durumdadır veya JDK'nın bin klasörü sistemin PATH değişkenine eklenmemiştir. Bu durumda JDK'nın kurulu olduğu klasörü ve terminalin gördüğü PATH değerini kontrol edin. Sürüm komutlarının ikisi de bulunamıyorsa JDK kurulumu tamamlanmamış veya terminal eski ortam değişkenlerini kullanıyor olabilir; terminali kapatıp yeniden açın ve komutları tekrar deneyin.Sürüm numarasının görünmesi tek başına Java öğrendiğinizi kanıtlamaz; yalnızca geliştirme araçlarının işletim sistemi tarafından bulunabildiğini gösterir.
İlk Java programını yazıp çalıştırın
Yeni bir klasör oluşturun. Örneğin bu klasörün adı
java-baslangic olsun. Klasörün içinde dosya adını tam olarak Merhaba.java yapın ve aşağıdaki kodu kaydedin:
Java:
public class Merhaba {
public static void main(String[] args) {
System.out.println("Merhaba, Java!");
}
}
Burada
Merhaba sınıfın adıdır. public static void main(String[] args) satırı, bu örneğin başlangıç noktasıdır. System.out.println ise metni konsola yazdırır.Dosyayı kaydettikten sonra terminali bu klasörde açın ve işlemleri sırayla yapın:
- Kaynak kodu sınıf dosyasına dönüştürün:
javac Merhaba.java - Derleme hatası yoksa aynı klasörde
Merhaba.classdosyasının oluştuğunu kontrol edin. - Programı çalıştırın:
java Merhaba - Konsolda
Merhaba, Java!çıktısını görün.
.java uzantısını yazmayın. javac kaynak dosyasını derler; java Merhaba ise oluşan sınıfı JVM üzerinde çalıştırır. Beklenen metni görmeniz, dosyanın doğru adlandırıldığını, kodun derlendiğini ve Java çalışma ortamının programı başlatabildiğini gösterir. Bu örnek henüz kullanıcıdan veri alma, hata yönetimi veya büyük bir uygulama tasarlama becerisini kanıtlamaz; yalnızca en küçük çalışır Java programını oluşturduğunuzu gösterir.Dosya adı ile
public class sonrasındaki sınıf adı aynı olmalıdır. Dosya Merhaba.java, sınıf adı da Merhaba olmalıdır. class Merhaba yazıp dosyayı farklı adla kaydederseniz derleme veya çalıştırma aşamasında sorun yaşayabilirsiniz.Java öğrenme sırasını doğru kurun
İlk örnekten sonra doğrudan bir web çatısı veya Android projesine geçmek yerine dilin temel yapılarını küçük örneklerle çalışın. Önerilen sıra şöyledir:
- Değişkenler ve veri türleri:
int,double,booleanveStringdeğerlerini tanımlayın; türlerin hangi veriyi temsil ettiğini öğrenin. - Operatörler: Aritmetik işlemleri, karşılaştırmaları ve mantıksal ifadeleri kullanın.
- Koşullar:
if,elseveswitchile farklı durumlarda farklı kodların çalışmasını sağlayın. - Döngüler:
forvewhileile tekrarlanan işlemleri yazın. - Metotlar: Tekrarlanan kodu parametre alan ve sonuç döndüren metotlara ayırın.
- Diziler ve koleksiyonlar: Birden fazla veriyi düzenlemek için dizileri,
ListveMapgibi koleksiyonları öğrenin. - Sınıflar ve nesneler: Veriyi ve davranışı bir arada tutan sınıflar oluşturun; nesne üretmeyi ve metot çağırmayı uygulayın.
- Kapsülleme, kalıtım ve arayüzler: Kodun sorumluluklarını ayırmayı ve sınıflar arasındaki ilişkileri öğrenin.
- İstisnalar ve dosya işlemleri: Beklenmeyen durumları yönetmeyi ve veriyi dosyadan okuyup dosyaya yazmayı çalışın.
- Test, hata ayıklama ve Git: Kodun beklenen sonucu üretip üretmediğini kontrol edin, hatayı adım adım izleyin ve değişiklik geçmişini yönetin.
Oracle'ın Java diline ilişkin öğrenme yolunda değişkenler, veri türleri, işleçler ve kontrol akışı; ardından sınıflar, nesneler, kalıtım, arayüzler, jenerikler ve paketler ele alınır. Eski Java eğitimlerinin bazıları JDK 8 için hazırlanmıştır; temel kavramlar hâlâ yararlı olsa da güncel sürüm özelliklerini öğrenirken kullanılan JDK sürümünün belgelerini ayrıca kontrol etmek gerekir.
Küçük ama tamamlanmış projeler yapın
Konu başlıklarını yalnızca okuyarak ilerlemek yerine her aşamada çalışan küçük bir uygulama yazın. Başlangıç için şu projeler uygundur:
- Konsoldan iki sayı okuyup dört işlem yapan hesap makinesi
- Bir sayının tek veya çift olduğunu bulan program
- Notları listeleyip ortalama hesaplayan uygulama
- Konsolda çalışan yapılacaklar listesi
- Dosyaya kayıt yapan basit kişi veya kitap takip uygulaması
Bir uygulama çalıştığında yalnızca doğru sonucu değil, yanlış girdilerde ne olduğunu da kontrol edin. Örneğin sayı beklenen yerde harf girildiğinde, boş değer verildiğinde veya bölme işleminde bölen sıfır olduğunda programın davranışını ayrı ayrı gözlemleyin. Beklenmeyen sonuç alırsanız önce girilen değeri, veri türünü, koşulun karşılaştırmasını ve döngünün kaç kez çalıştığını kontrol edin. Hata mesajını olduğu gibi okumak yerine mesajdaki dosya adı ve satır numarasını inceleyin; çoğu derleme hatası sorunun bulunduğu yeri doğrudan gösterir.
Komut satırından sonra bir geliştirme düzenine geçin
İlk programları komut satırında derleyip çalıştırmanız, Java'nın temel akışını anlamanızı sağlar. Daha sonra bir IDE kullanabilirsiniz. IDE; kod tamamlama, hata gösterme, proje yönetimi ve hata ayıklama gibi kolaylıklar sunar. Ancak IDE'nin kodu sizin yerinize anlamasını beklemeyin; derleme ve çalıştırma mantığını bilmezseniz bir hata oluştuğunda sorunun kaynağını ayırmak zorlaşır.
Birden fazla dosyadan oluşan projelerde paket yapısını kullanın ve kaynak kodunu düzenli klasörlerde tutun. Proje büyüdüğünde bağımlılıkları ve derleme işlemlerini yönetmek için Maven veya Gradle gibi araçlardan birini öğrenebilirsiniz. Bu araçlara başlamadan önce sınıf, paket, metot ve koleksiyon kavramlarını temel düzeyde kullanabiliyor olmanız gerekir.
Java'yı hangi alanda kullanacağınızı da bu aşamadan sonra seçin:
| Hedef | Öncelikli konular |
|---|---|
| Genel uygulama ve sunucu yazılımı | Nesne yönelimli tasarım, koleksiyonlar, istisnalar, dosya işlemleri, ağ ve veritabanı temelleri. |
| Android | Java temelleri, nesneler, arayüzler, koleksiyonlar, Android bileşenleri ve uygulama yaşam döngüsü. |
| Büyük ölçekli sistemler | Paketleme, test, eşzamanlılık, performans, veritabanı, ağ, günlükleme ve proje yapılandırma araçları. |