Menu
Coddy logo textTech

Java Hile Sayfası

Son güncelleme

Hello World ve program yapısı

Her Java programı bir sınıfın içindeki main metodundan çalışır.

ElementKod
Sınıf bildirimipublic class Main { ... }
Giriş noktasıpublic static void main(String[] args) { ... }
Bir satır yazdırSystem.out.println("Hello, World!");
Satır sonu olmadan yazdırSystem.out.print("text");
Girdi okuScanner sc = new Scanner(System.in);
Bir sınıfı içe aktarimport java.util.ArrayList;
Yorumlar// line ve /* block */

Veri tipleri

İlkel tipler küçük harfle; sarmalayıcı (wrapper) sınıfları büyük harfle yazılır.

TipAçıklama
int32 bit işaretli tam sayı
long64 bit işaretli tam sayı
double / floatKayan noktalı sayılar
booleantrue veya false
charTek bir 16 bit Unicode karakteri
byte / short8 bit / 16 bit tam sayılar
StringDeğiştirilemez metin (bir sınıf, ilkel tip değil)
Integer, Double, Booleanİlkel tipler için sarmalayıcı sınıflar
varÇıkarımlı yerel tip (Java 10+)

Değişkenler

İşlemSöz dizimi
Tanımla ve ilk değer ataint x = 5;
Tip çıkarımı (yerel)var name = "Ada";
Sabitfinal double PI = 3.14159;
Dize birleştirmeString s = "Hi " + name;
Dizeyi int'e dönüştürint n = Integer.parseInt("42");
int'i dizeye dönüştürString s = String.valueOf(42);
Biçimlendirilmiş dizeString.format("%d items", n)

Kontrol akışı

İfadeSöz dizimi
If / elseif (x > 0) { ... } else { ... }
Switch ifadesi (statement)switch (n) { case 1: ...; break; default: ...; }
Switch ifadesi (expression)var s = switch (n) { case 1 -> "one"; default -> "other"; };
While döngüsüwhile (i < n) { ... }
Do-while döngüsüdo { ... } while (i < n);
For döngüsüfor (int i = 0; i < n; i++) { ... }
Gelişmiş for (for-each)for (String item : list) { ... }
Break / continuebreak; bir döngüden çıkar, continue; bir sonraki yinelemeye atlar

Metotlar

İşlemSöz dizimi
Bir metot tanımlaint add(int a, int b) { return a + b; }
Geri dönüş değeri yokvoid greet() { ... }
Statik metotstatic int square(int x) { return x * x; }
Public metotpublic String getName() { return name; }
Varargsint sum(int... nums) { ... }
Bir metot çağırint r = add(2, 3);
Statik bir metot çağırMath.max(a, b);
Metot aşırı yüklemeint max(int a, int b) ve double max(double a, double b)

Sınıflar ve OOP

İşlemSöz dizimi
Bir sınıf tanımlapublic class Dog { ... }
Alanprivate String name;
Yapıcı (constructor)public Dog(String name) { this.name = name; }
Bir nesne oluşturDog d = new Dog("Rex");
Getter / setterpublic String getName() { return name; }
Kalıtımclass Puppy extends Dog { ... }
Arayüzinterface Runnable { void run(); }
Bir arayüzü uygulaclass Task implements Runnable { ... }
Bir metodu geçersiz kıl@Override public void speak() { ... }

Koleksiyonlar

java.util paketinden generic koleksiyonlar.

TipKullanım ve örnek
ArrayList<T>Dinamik dizi: list.add(1); list.get(0); list.size();
HashMap<K, V>Anahtar-değer: map.put("a", 1); map.get("a");
HashSet<T>Benzersiz değerler: set.add(5); set.contains(5);
LinkedList<T>Çift yönlü bağlı liste, kuyruk/deque olarak uygun
ArrayDeque<T>Yığın/kuyruk: dq.push(x); dq.pop();
Diziint[] nums = {1, 2, 3};
Bir listeyi dolaşfor (T x : list) { ... }
Bir map'i dolaşfor (var e : map.entrySet()) { e.getKey(); e.getValue(); }

Stream'ler ve lambda'lar

Koleksiyonlar üzerinde fonksiyonel tarzda işlem hatları (Java 8+).

İşlemSöz dizimi
Lambda ifadesix -> x * 2
Bir stream oluşturlist.stream()
Filtrele.filter(n -> n > 0)
Dönüştür (map).map(n -> n * 2)
Sırala.sorted() veya .sorted(Comparator.reverseOrder())
İndirge / topla.reduce(0, Integer::sum)
Say / eşleştir.count(), .anyMatch(n -> n > 5)
Listeye topla.collect(Collectors.toList())
Her biri için.forEach(System.out::println)

Yaygın desenler (try/catch, generic'ler)

DesenSöz dizimi
Try / catchtry { ... } catch (Exception e) { ... }
Belirli bir istisnayı yakalacatch (IOException e) { ... }
Finallyfinally { ... } her zaman çalışır
Try-with-resourcestry (Scanner sc = new Scanner(...)) { ... }
Bir istisna fırlatthrow new IllegalArgumentException("bad");
Generic sınıfclass Box<T> { T value; }
Generic metot<T> T first(List<T> list) { ... }
Sınırlandırılmış tip<T extends Number>

En çok başvurduğunuz Java söz dizimi, koleksiyonlar ve stream işlemleri tek sayfada. Bu Java hile sayfası, Java yazmak için hızlı bir başvurudur - veri tipleri, kontrol akışı, sınıflar, ArrayList/HashMap koleksiyonları, Streams API'si ve her gün kullandığınız istisna ve generic desenleri.

Buradaki her şey standart Java'dır (Java 8 ve sonrası) ve javac ile derlenir. İhtiyacınız olanı kopyalayın ya da herhangi bir kod parçasını Java playground'da canlı deneyin - kurmanız gereken bir JDK yok.

Java hile sayfası SSS

Bu Java hile sayfası ücretsiz mi?
Evet. Bu Java hile sayfası tamamen ücretsizdir ve kayıt gerektirmez. Yer imlerinize ekleyin ve bir söz dizimine, koleksiyona ya da stream işlemine bakmanız gerektiğinde geri dönün.
Java'da == ile .equals() arasındaki fark nedir?
Nesneler için == referansları karşılaştırır - iki değişkenin tam olarak aynı nesneyi gösterip göstermediğini - oysa .equals() içerikleri karşılaştırır. Aynı metne sahip iki farklı String nesnesi .equals()'tir ama == olmayabilir. Dizeleri ve diğer nesneleri değer eşitliği için karşılaştırırken her zaman .equals() kullanın; =='i yalnızca ilkel tipler (int, boolean vb.) için veya null kontrolü için kullanın.
Java'da stream'ler ne için kullanılır?
Streams API'si (Java 8+), koleksiyonları manuel döngüler yerine okunabilir bir işlem hattıyla işlemenizi sağlar - filter, map, sorted, reduce, collect. list.stream() ile başlar, ara işlemleri zincirler ve collect(Collectors.toList()) veya forEach gibi bir uçtaki (terminal) işlemle bitirirsiniz. Veri dönüştürme kodunu özlü ve anlaşılır tutar.
Java'yı çevrimiçi olarak deneyebilir miyim?
Evet. Java playground'u açarak bu hile sayfasındaki herhangi bir kod parçasını tarayıcınızda derleyip çalıştırabilirsiniz - kurmanız gereken bir JDK yok. Yapı istediğinizde, Coddy'nin ücretsiz etkileşimli Java kursu sizi değişkenler ve döngülerden sınıflara, koleksiyonlara ve stream'lere adım adım götürür.
Bu hile sayfası yeni başlayanlar için uygun mu?
Evet. En yaygın yapı taşlarından (tipler, kontrol akışı, metotlar) gelişmiş olanlara (stream'ler, generic'ler, istisnalar) doğru düzenlenmiştir, böylece üstteki bölümleri ilk günden kullanabilir ve zamanla geri kalanına geçebilirsiniz.
Coddy programming languages illustration

Coddy ile Java öğren

BAŞLA