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.
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.
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
- Yöntemleri ve Parametreleri Tanımlama
- Dönüş Değerleri ve Aşırı Yükleme
- Kapsam ve Yaşam Süresi