logo
eng-flag

Java Notları ve İpuçları

İçindekiler

  1. Temel Sözdizimi
  2. Veri Tipleri
  3. Değişkenler
  4. Operatörler
  5. Kontrol Akışı
  6. Metodlar
  7. Diziler
  8. Nesne Yönelimli Programlama
  9. İstisna İşleme
  10. Koleksiyonlar
  11. Dosya İşlemleri
  12. Generics
  13. Çoklu İş Parçacığı

Temel Sözdizimi

Yorumlar

// Bu bir tek satırlık yorumdur

/*
Bu çok
satırlı bir
yorumdur
*/

/**
 * Bu bir Javadoc yorumudur
 * Belgelendirme için kullanılır
 */

Ana Metod

Her Java programı ana metoddan başlar:

public class MerhabaDunya {
    public static void main(String[] args) {
        System.out.println("Merhaba, Dünya!");
    }
}

Veri Tipleri

İlkel Veri Tipleri

byte b = 100;
short s = 10000;
int i = 100000;
long l = 1000000000L;
float f = 3.14f;
double d = 3.14159265359;
boolean bool = true;
char c = 'A';

Referans Veri Tipleri

String str = "Merhaba, Dünya!";
Integer intObj = 100;
Double doubleObj = 3.14;

Değişkenler

// Değişken bildirimi
int sayi;

// Değişken başlatma
sayi = 10;

// Bildirim ve başlatma
String isim = "Ahmet";

// Sabitler
final double PI = 3.14159;

Operatörler

Aritmetik Operatörler

int a = 10, b = 3;

System.out.println(a + b);  // Toplama: 13
System.out.println(a - b);  // Çıkarma: 7
System.out.println(a * b);  // Çarpma: 30
System.out.println(a / b);  // Bölme: 3
System.out.println(a % b);  // Mod: 1

Karşılaştırma Operatörleri

int x = 5, y = 10;

System.out.println(x == y);  // Eşittir: false
System.out.println(x != y);  // Eşit değildir: true
System.out.println(x > y);   // Büyüktür: false
System.out.println(x < y);   // Küçüktür: true
System.out.println(x >= y);  // Büyük eşittir: false
System.out.println(x <= y);  // Küçük eşittir: true

Mantıksal Operatörler

boolean a = true, b = false;

System.out.println(a && b);  // Mantıksal VE: false
System.out.println(a || b);  // Mantıksal VEYA: true
System.out.println(!a);      // Mantıksal DEĞİL: false

Kontrol Akışı

If-Else İfadesi

int x = 10;

if (x > 0) {
    System.out.println("Pozitif");
} else if (x < 0) {
    System.out.println("Negatif");
} else {
    System.out.println("Sıfır");
}

Switch İfadesi

int gun = 3;
switch (gun) {
    case 1:
        System.out.println("Pazartesi");
        break;
    case 2:
        System.out.println("Salı");
        break;
    case 3:
        System.out.println("Çarşamba");
        break;
    default:
        System.out.println("Diğer gün");
}

For Döngüsü

for (int i = 0; i < 5; i++) {
    System.out.println(i);
}

// Gelişmiş for döngüsü (for-each)
int[] sayilar = {1, 2, 3, 4, 5};
for (int sayi : sayilar) {
    System.out.println(sayi);
}

While Döngüsü

int sayac = 0;
while (sayac < 5) {
    System.out.println(sayac);
    sayac++;
}

Do-While Döngüsü

int i = 0;
do {
    System.out.println(i);
    i++;
} while (i < 5);

Metodlar

// Metod tanımı
public static int topla(int a, int b) {
    return a + b;
}

// Metod aşırı yükleme
public static double topla(double a, double b) {
    return a + b;
}

// Metod çağrısı
int toplam = topla(5, 3);
double toplamDouble = topla(5.5, 3.3);

Diziler

// Dizi bildirimi ve başlatma
int[] sayilar = {1, 2, 3, 4, 5};

// Dizi elemanlarına erişim
System.out.println(sayilar[0]);  // 1 yazdırır

// Çok boyutlu dizi
int[][] matris = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

// Dizi uzunluğu
System.out.println(sayilar.length);  // 5 yazdırır

Nesne Yönelimli Programlama

Sınıf Tanımı

public class Araba {
    // Alanlar
    private String marka;
    private String model;
    
    // Yapıcı metod
    public Araba(String marka, String model) {
        this.marka = marka;
        this.model = model;
    }
    
    // Metodlar
    public void calistir() {
        System.out.println("Araba çalışıyor...");
    }
    
    // Getter ve Setter metodları
    public String getMarka() {
        return marka;
    }
    
    public void setMarka(String marka) {
        this.marka = marka;
    }
}

Nesne Oluşturma ve Kullanımı

Araba arabam = new Araba("Toyota", "Corolla");
arabam.calistir();
System.out.println(arabam.getMarka());

Kalıtım

public class ElektrikliAraba extends Araba {
    private int bataryaKapasitesi;
    
    public ElektrikliAraba(String marka, String model, int bataryaKapasitesi) {
        super(marka, model);
        this.bataryaKapasitesi = bataryaKapasitesi;
    }
    
    @Override
    public void calistir() {
        System.out.println("Elektrikli araba sessizce çalışıyor...");
    }
}

Arayüz

public interface Surulebilir {
    void sur();
    void dur();
}

public class Araba implements Surulebilir {
    @Override
    public void sur() {
        System.out.println("Araba sürülüyor");
    }
    
    @Override
    public void dur() {
        System.out.println("Araba durdu");
    }
}

İstisna İşleme

try {
    int sonuc = 10 / 0;
} catch (ArithmeticException e) {
    System.out.println("Sıfıra bölünemez!");
} finally {
    System.out.println("Bu her zaman çalışır");
}

// İstisna fırlatma
public void yasiKontrolEt(int yas) throws IllegalArgumentException {
    if (yas < 0) {
        throw new IllegalArgumentException("Yaş negatif olamaz");
    }
}

Koleksiyonlar

ArrayList

import java.util.ArrayList;

ArrayList<String> liste = new ArrayList<>();
liste.add("Elma");
liste.add("Muz");
liste.add("Kiraz");

System.out.println(liste.get(0));  // "Elma" yazdırır
liste.remove(1);
System.out.println(liste.size());  // 2 yazdırır

HashMap

import java.util.HashMap;

HashMap<String, Integer> harita = new HashMap<>();
harita.put("Elma", 1);
harita.put("Muz", 2);
harita.put("Kiraz", 3);

System.out.println(harita.get("Muz"));  // 2 yazdırır
harita.remove("Elma");
System.out.println(harita.containsKey("Elma"));  // false yazdırır

Dosya İşlemleri

import java.io.*;

// Dosyadan okuma
try (BufferedReader okuyucu = new BufferedReader(new FileReader("dosya.txt"))) {
    String satir;
    while ((satir = okuyucu.readLine()) != null) {
        System.out.println(satir);
    }
} catch (IOException e) {
    e.printStackTrace();
}

// Dosyaya yazma
try (BufferedWriter yazici = new BufferedWriter(new FileWriter("cikti.txt"))) {
    yazici.write("Merhaba, Dünya!");
} catch (IOException e) {
    e.printStackTrace();
}

Generics

// Generic sınıf
public class Kutu<T> {
    private T t;

    public void set(T t) {
        this.t = t;
    }

    public T get() {
        return t;
    }
}

// Kullanım
Kutu<Integer> tamsayiKutusu = new Kutu<>();
tamsayiKutusu.set(10);
Integer birTamsayi = tamsayiKutusu.get();

// Generic metod
public static <E> void diziYazdir(E[] dizi) {
    for (E eleman : dizi) {
        System.out.print(eleman + " ");
    }
    System.out.println();
}

Çoklu İş Parçacığı

// Thread sınıfından türetme
class BenimThread extends Thread {
    public void run() {
        System.out.println("Thread çalışıyor");
    }
}

// Runnable arayüzünü uygulama
class BenimRunnable implements Runnable {
    public void run() {
        System.out.println("Thread çalışıyor");
    }
}

// Kullanım
BenimThread thread1 = new BenimThread();
thread1.start();

Thread thread2 = new Thread(new BenimRunnable());
thread2.start();

// Runnable ile Lambda ifadesi
new Thread(() -> {
    System.out.println("Thread çalışıyor");
}).start();

2024 © Tüm hakları saklıdır - buraxta.com