Java Academy · Ders

Kapsam ve Yaşam Süresi

Değişkenlerin nerede görünür olduğunu (kapsam) ve ne kadar süre var olduğunu (yaşam süresi) öğrenin: bloklar, döngüler, yöntemler, alanlar, gölgeleme ve final parametreleri.

3. ders / 38 adım

Kapsam ve Yaşam Süresi, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 3 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 3 dersten oluşur.

Kapsam ve yaşam süresi

Kapsam = bir adın (değişkenin) görünür olduğu yer. Yaşam süresi = değişkenin ne kadar süre var olduğu. Blok kapsamını, döngü kapsamını, yöntem yerel değişkenlerini, sınıf alanlarını ve gölgeleme kurallarını göreceksiniz.

Blok kapsamı

Blok kapsamı: Süslü ayraçların içinde tanımlanan bir değişken yalnızca bu ayraçların içinde görünürdür.

public class Main {
  public static void main(String[] args) {
    int a = 10; // visible in main
    {
      int b = 20; // visible only inside this block
      System.out.println("inside block: a=" + a + ", b=" + b);
    }
    System.out.println("outside block: a=" + a);
    // System.out.println(b); // would NOT compile: b is out of scope
  }
}

Döngü kapsamı

Döngü kapsamı: for başlığında tanımlanan döngü dizini yalnızca döngü gövdesinin içinde görünürdür.

public class Main {
  public static void main(String[] args) {
    for (int i = 0; i < 3; i = i + 1) {
      System.out.println("i in loop = " + i);
    }
    // System.out.println(i); // would NOT compile: i is scoped to the loop

    int j;
    for (j = 0; j < 2; j = j + 1) {
      System.out.println("j in loop = " + j);
    }
    System.out.println("j after loop = " + j); // OK: j declared outside
  }
}

Alanlar ve yerel değişkenler

Yaşam süresi: Sınıf ve statik alanlar çağrılar boyunca varlığını sürdürür; yerel değişkenler her çağrıda yeniden oluşturulur ve yöntem sona erdiğinde atılır.

public class Main {
  // static field (class-level): lives for the program lifetime
  static int counter = 0;

  static void tick() {
    int local = 100; // local: created each call, dies when method returns
    counter = counter + 1;
    System.out.println("tick: counter=" + counter + ", local=" + local);
  }

  public static void main(String[] args) {
    tick();
    tick();
    tick();
    System.out.println("final counter=" + counter);
  }
}

Gölgeleme

Gölgeleme: İçteki bir tanım (örneğin bir parametre veya yerel değişken), aynı tanımlayıcıya sahip dıştaki bir adı gizleyebilir. Gizlenen alana erişmek için ClassName.field (veya örnek yöntemlerinde this.field) kullanın.

public class Main {
  static String label = "FIELD"; // class field

  static void demo(String label) { // parameter shadows field name
    System.out.println("param label = " + label); // uses parameter
    {
      String labelInner = "INNER"; // new name in inner block
      System.out.println("inner block labelInner = " + labelInner);
      System.out.println("still param label = " + label);
    }
    System.out.println("field via class name = " + Main.label); // refer to field explicitly
  }

  public static void main(String[] args) {
    demo("PARAM");
  }
}

Son ve değerle geçirme

Son parametrelere yeniden değer atanamaz. Java'da değerle geçirme kullanılır: parametreye yeniden değer atamak, çağıran kodun değişkenini değiştirmez.

public class Main {
  // final parameter cannot be reassigned inside the method
  static int inc(final int n) {
    // n = n + 1; // would NOT compile if uncommented
    return n + 1; // safe: return a new value
  }

  static void reassign(int x) {
    x = 999; // reassignes the local copy; caller variable is unchanged
  }

  public static void main(String[] args) {
    int a = 5;
    int b = inc(a);
    System.out.println("a=" + a + ", b=inc(a)=" + b);

    reassign(a);
    System.out.println("after reassign(a): a is still " + a);
  }
}

Kapsam ve yaşam süresi kontrolü

Hızlı kontrol: Kapsam ve yaşam süresi hakkında hangi ifade TRUE'dur?

Özet ve sıradaki konu

Özet: Blok ve döngü kapsamını, alanlarla yerel değişkenler arasındaki farkı, gölgelemeyi ve son parametreleri uyguladınız. Sırada A2.2'de tasarım ve yeniden kullanım kalıplarına geçmek var.

Başlamak ücretsiz

Yapay zeka eğitmeniyle Java öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
104
Dersler
374

Sıkça Sorulan Sorular

“Kapsam ve Yaşam Süresi” dersi ücretsiz mi?

Evet — “Kapsam ve Yaşam Süresi” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 3 dersten oluşur.

“Kapsam ve Yaşam Süresi” dersinde ne öğreneceğim?

Değişkenlerin nerede görünür olduğunu (kapsam) ve ne kadar süre var olduğunu (yaşam süresi) öğrenin: bloklar, döngüler, yöntemler, alanlar, gölgeleme ve final parametreleri. Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Java Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 3. dersidir.

“Kapsam ve Yaşam Süresi” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Yöntemleri ve Parametreleri Tanımlama
  2. Dönüş Değerleri ve Aşırı Yükleme
  3. Kapsam ve Yaşam Süresi
← Java Academy Sayfasına Dön