- Katılım
- 7 Nis 2025
- Konular
- 367
- Mesajlar
- 780
- Çözümler
- 1
- Tepkime puanı
- 121
- Puan
- 93
- Konum
- İstanbul
- Web sitesi
- forumagel.com
Hazır Kod Bankası - Konu 16: Java Temelleri
Hazır Kod Bankası Serimizin On Altıncı Konusu: Java!
Merhaba arkadaşlar! Serimizde HTML, CSS, JavaScript ile web ön yüzünü; PHP, Veritabanları ve Python ile web arka yüzünü ve genel betik yazımını; VBA ve VB.NET ile masaüstü otomasyonunu; Git ile versiyon kontrolünü; ve temel Veri Yapıları/Algoritmalar ile OOP prensiplerini gördük. Şimdi programlama yolculuğumuzda yeni ve önemli bir durağa geliyoruz: Java.
Java, Sun Microsystems (şu an Oracle'a ait) tarafından geliştirilmiş, derlenen (compiled), nesne tabanlı (object-oriented)) ve statik olarak tiplendirilmiş (statically-typed) yüksek seviyeli bir programlama dilidir. "Write Once, Run Anywhere" (Bir Kere Yaz, Her Yerde Çalıştır) felsefesiyle tasarlanmıştır. Bunun anlamı, yazdığınız Java kodunu (doğrudan işletim sisteminde değil) Java Sanal Makinesi (JVM - Java Virtual Machine) üzerinde çalışması sayesinde, herhangi bir işletim sisteminde (Windows, macOS, Linux) değişiklik yapmadan çalıştırabilmenizdir.
Python, PHP veya JavaScript gibi dinamik dillerin aksine, Java'da her değişkenin tipini (tam sayı, metin, ondalıklı sayı vb.) belirtmeniz zorunludur (`int sayi;`, `String ad;` gibi). Bu, hataların genellikle kod yazım aşamasında veya derleme sırasında yakalanmasına yardımcı olur. Java, özellikle kurumsal uygulamalarda, büyük ölçekli sistemlerde, Android mobil geliştirmede ve web sunucu tarafında (backend) çok yaygın kullanılır. Sözdizimi (syntax) C++, C# gibi dillere benzerlik gösterir.
Bu konuda Java'nın temel yapısını, değişkenleri, veri tiplerini, çıktı almayı, temel kontrol akışlarını ve metot tanımlamayı göreceğiz.
1. Java Nedir? Neden Yaygın? JVM, JRE, JDK Nedir?
- Platform Bağımsızlığı (WORA): Java kodunuz .class uzantılı bytecode'a derlenir ve bu bytecode JVM olan her yerde çalışabilir.
- Nesne Tabanlı: OOP prensipleri üzerine kurulmuştur.
- Statik Tiplendirme: Değişken tipleri derleme zamanında kontrol edilir, bu da runtime hatalarını azaltır.
- Güvenlikli ve Sağlam: Bazı potansiyel hataları derleme zamanında yakalar.
- Çoklu İş Parçacığı Desteği (Multithreading): Aynı anda birden fazla iş yapma yeteneği.
- Yaygın Kullanım: Kurumsal yazılımlar, Android uygulamaları, web uygulamaları, büyük veri teknolojileri vb.
- JDK (Java Development Kit): Java uygulamaları geliştirmek için gereken tüm araçları içerir (derleyici `javac`, JVM, kütüphaneler vb.). Java yazmak için JDK'yı kurmalısınız.
- JRE (Java Runtime Environment): Derlenmiş Java kodunu (bytecode) çalıştırmak için gerekenleri içerir (JVM ve temel kütüphaneler). Java uygulamalarını çalıştırmak için JRE yeterlidir.
- JVM (Java Virtual Machine): Java bytecode'unu yorumlayıp çalıştırmaktan sorumlu sanal makinedir. Java'nın platform bağımsızlığını sağlar.
2. İlk Java Programı Yapısı ve Temel Sözdizimi
En basit Java programı bile belirli bir yapıya uymalıdır: Bir sınıf ve bu sınıf içinde kodun çalışmaya başlayacağı özel bir metot (`main`).
Java:
// Dosya adı: IlkProgramim.java olmalı
public class IlkProgramim { // Sınıf tanımı başlar
// Ana Metot - Programın çalışmaya başladığı yer
public static void main(String[] args) {
// Kodlarımız buraya yazılır
System.out.println("Merhaba, Java Dünyası!"); // Konsola çıktı verme komutu
} // Ana metot biter
} // Sınıf tanımı biter
- `public class IlkProgramim { ... }`: Her Java kodu en az bir sınıftan oluşur. `public` erişim belirtecidir. Sınıf adı (IlkProgramim) dosya adıyla (`IlkProgramim.java`) aynı olmalıdır.
- `public static void main(String[] args) { ... }`: Bu metot, Java programının çalışmaya başladığı giriş noktasıdır. `public static void` standarttır (şimdilik ezberleyebilirsiniz). `String[] args` program başlatılırken dışarıdan alınan komut satırı argümanlarıdır.
- `System.out.println("...");`: Konsola metin yazdırmak için kullanılır.
- Her komutun sonuna noktalı virgül (
konulmalıdır.
- Kod blokları (metot içleri, if/döngü gövdeleri) süslü parantezler `{}` içine yazılır.
- Yorum satırları için `//` (tek satır) veya `/* ... */` (çok satır) kullanılır.
- Java büyük/küçük harf duyarlıdır (`sayi` ile `Sayi` farklıdır).
3. Değişkenler ve Veri Tipleri (Statik Tiplendirme!)
Java'da değişken tanımlarken tipini belirtmek zorunludur.
Java:
// Değişken tanımlama ve değer atama (tip belirtilir!)
int yas = 30; // Tam Sayı (Integer)
double boy = 1.75; // Ondalıklı Sayı (Double)
char ilkHarf = 'J'; // Tek Karakter (Char - tek tırnak)
boolean aktifMi = true; // Mantıksal (Boolean - true veya false)
String ad = "Ahmet"; // Metin (String - çift tırnak)
// Tanımladıktan sonra tipini değiştiremezsiniz!
// yas = "otuz"; // Hata verir! int bir değişkene String atayamazsınız.
// Değişkenlerin değerlerini yazdırma
System.out.println("Ad: " + ad); // Metinleri birleştirmek için '+' kullanılır
System.out.println("Yaş: " + yas + ", Boy: " + boy);
4. Temel Kontrol Akışları (if/else, for, while)
Java'da kontrol akış yapıları diğer C tabanlı dillere (C++, C#, JavaScript, PHP) benzer sözdizimi kullanır ve kod blokları `{}` içine alınır.
- if / else: Koşullu dallanma.
Java:int notu = 85; if (notu >= 50) { // Koşul parantez içine alınır System.out.println("Dersten Geçti."); // Kod bloğu süslü parantez içinde } else { System.out.println("Dersten Kaldı."); } // elif yerine else if kullanılır if (notu >= 90) { System.out.println("Notunuz: A"); } else if (notu >= 80) { // else if ile yeni bir koşul System.out.println("Notunuz: B"); } else { System.out.println("Notunuz: C veya daha düşük"); }
- for Döngüsü: Belirli sayıda veya bir dizi üzerinde dönme.
Java:// 0'dan 4'e kadar (5 dahil değil) sayıları yazdır for (int i = 0; i < 5; i++) { // Başlangıç, koşul, adım System.out.println("Sayaç: " + i); // Döngü gövdesi süslü parantez içinde } // Diziler (Arrays) veya koleksiyonlar üzerinde dönmek için farklı for biçimleri de vardır (ileri konu).
- while Döngüsü: Belirli bir koşul doğru olduğu sürece tekrarlama.
Java:int sayac = 0; while (sayac < 3) { // Koşul parantez içinde System.out.println("While Sayacı: " + sayac); // Döngü gövdesi süslü parantez içinde sayac++; // sayac = sayac + 1; veya sayac += 1; }
5. Metotlar (Methods)
Java'da fonksiyonlara "metot" denir ve her metot bir sınıf içinde tanımlanır. Basit programlarda, `main` metodu gibi, `static` olarak tanımlanan metotları kullanabiliriz.
Java:
public class MetotOrnegi {
// Ana Metot
public static void main(String[] args) {
// Statik metodu çağırma
selamVer("Java");
// Değer döndüren statik metodu çağırma
int toplam = topla(10, 20);
System.out.println("Toplam Sonuç: " + toplam);
}
// Geriye değer döndürmeyen (void) ve parametre alan statik metot
public static void selamVer(String isim) {
System.out.println("Merhaba, " + isim + "!");
}
// Geriye int tipinde değer döndüren ve iki int parametre alan statik metot
public static int topla(int sayi1, int sayi2) {
int sonuc = sayi1 + sayi2;
return sonuc; // Sonucu geri döndür
}
}
6. Tam Bir Java Programı Örneği
Aşağıdaki kodu bir ".java" dosyasına kaydedip (dosya adı sınıf adıyla aynı olmalı!), derleyip çalıştırarak öğrendiğimiz temelleri bir arada görebilirsiniz:
Java:
// Dosya adı: BasitJavaOrnek.java
public class BasitJavaOrnek {
public static void main(String[] args) {
// Değişken tanımlama ve kullanma
String urunAdi = "Laptop";
double fiyat = 12500.75;
int stok = 10;
boolean indirimdeMi = true;
System.out.println("Ürün Bilgileri:");
System.out.println("Ad: " + urunAdi);
System.out.println("Fiyat: " + fiyat + " TL");
// Koşullu kontrol (if/else)
if (stok > 0) {
System.out.println("Stok Durumu: Mevcut");
if (indirimdeMi) { // İç içe if
System.out.println("Bu ürün indirimde!");
}
} else {
System.out.println("Stok Durumu: Tükenmiş");
}
// Döngü örneği (for)
System.out.println("\nStok Adedi Kadar Sayma:");
for (int i = 1; i <= stok; i++) {
System.out.println("Sayaç: " + i);
}
// Bir metodu çağırma
selamYaz("Ziyaretçi");
}
// Ayrı bir statik metot
public static void selamYaz(String isim) {
System.out.println("\n" + isim + ", Java örneği bitti!");
}
}
- Derleme: `javac BasitJavaOrnek.java` komutunu çalıştırın. Hata yoksa "BasitJavaOrnek.class" adında bir dosya oluşacaktır.
- Çalıştırma: `java BasitJavaOrnek` komutunu çalıştırın. Programın çıktısını göreceksiniz.
Sıra Sizde!
Bilgisayarınıza JDK'yı kurdunuz mu? Bir IDE kurup çalıştırmayı denediniz mi? Yukarıdaki temel Java programını yazıp, derleyip çalıştırabildiniz mi? Farklı veri tipleriyle değişkenler tanımlayıp kullanmayı denediniz mi? if/else ve for döngüsü örneklerini kendi kodlarınızda denediniz mi?
Java'nın statik tiplendirmesi, sözdizimi (noktalı virgül, süslü parantez), `main` metot yapısı veya JDK/JRE/JVM kavramları hakkında aklınıza takılan soruları bu konu altında sorabilirsiniz.
Serinin Geleceği?[/B]
Java gibi güçlü ve yaygın bir dile giriş yaptık. Java'nın kendisi devasa bir ekosistemdir (Java SE, Java EE, Spring Framework, Android SDK vb.).
Seriyi buradan sonra nasıl devam ettirelim?
- Java'da Nesne Tabanlı Programlama (OOP) temelleri (Sınıflar, Nesneler, Metotlar, özellikler - Python'da gördüğümüz kavramların Java'daki karşılığı)?
- Java'da daha ileri temel konular (Diziler, String işlemleri, giriş/çıkış - Scanner sınıfı vb.)?
- Temel Veri Yapıları ve Algoritmalarda daha ileri konular?
- Diğer programlama dillerine giriş (C#, C++ gibi)?
- Web geliştirme Frameworklerine giriş (Java Spring/Spring Boot, Python Flask/Django, JS React/Vue/Angular, PHP Laravel/Symfony)?
- Mobil geliştirme temelleri (Android Studio ile)?
- Belirli bir proje türüne odaklanma (Örn: Basit konsol uygulaması yapımı)?
- Veya başka önerileriniz mi var?
Umarım bu konu Java'ya ilk adımınızı atmanızda faydalı olmuştur. Görüşmek üzere!
Bu konu, "Hazır Kod Bankası" serisinin on altıncı parçasıdır ve "Yazılım Bilgi ve Yeni Başlayanlar İçin" kategorisi altında paylaşılmıştır.