Minter Coder Hack-Mack-Bi şeyler

07 Eylül

java değişken değişken tipleri instance variables örnek değişkenler static değişkenler local değişknler

Bölüm 1.3: Java Değişkenler ve Değişken Tipleri

Selam gençler;

Değişkenler Nedir ?

Öncelikle, bir değişkeni bellekte yer ayrılan ve yer ayrılan yerde bir değeri tutan bir kutu olarak düşünebilirsiniz.

 

int veri=33;

 

Görüldüğü üzere yukarıda bir değişken yazdık ve bellekte ayrılmış alanını da betimlemeye çalıştık. Yani kısacası bellekte veri için ayrılan bir alan olarak düşünün.

 

Java da 3 değişken tipi vardır : local,instance ve static.

 

 

  • Local Variable (Yerel Değişken): Bu değişkenler bir method içerisinde tanımlandığında local variable olarak tanımlanır.
    • Bir local variable "static" olarak tanımlanamaz ve
    • Bunları kullanmadan önce mesela ekrana yazdırmak gibi, kesinlikle initialize edilmesi yani bir değer atanması gereklidir
    • Ayrıca bu local değişkenler herhangi bir default yani varsayılan değerleri yoktur.

 

void topla(){
int y = 10; // local variable
int x; // local variable
int reply = x+y; // hata verir. çünkü x'e herhangi bir değer atanmadı.
}

görüldüğü üzere burda x ve y local değişkenlerdir.

 

Eğer ki biz local variable olarak yorumlamadığımız değişkenler varsa bunlar ya instance yada class variabledir.

  • Instance Variable : Örnek değişken olarak bilinir bir sınıfın içerisinde ve methodun dışında tanımlanmış ise ve her nesnenin bir kopyasını oluşturduğu değişkenlerdir. 
    • Non-static (static olmayan) fields olarak da bilinir
    • Bu değişkenlerin default yani varsayılan değerleri vardır.
  • Class Variable : Bunlar da eğer ki instance variable gibi tanımlanış ama "static" keywordüne sahip ise biz bunlara sınıf değişkenleri diyoruz.
    • Static fields olarak da bilinir.
    • Bu değişkenleri default yani varsayılan değerleri vardır.
    • Her nesne için bir kopya oluşmaz bellekte sadece bir tek kopyası vardır.
    • Local variables gibi bir method içerisinde tanımlanamazlar.

 

Değişken Tipi Varsayılan Değeri
boolean false
byte,short,int,long 0
float,double 0.0
char '\u0000' (null)
Bütün nesne (object) referansları null

 

 

"Instance variables" bunlar bir nesnenin yaşam süresi boyunca (lifetime) kullanılabilirlerken, "Class (static) variables" tanımlandığı kapsamdan sonra uygulama kapanana kadar aktif olarak bulunurlar.

 

class A{
int veri = 50; // instance variable
static int m = 100; // class variable
      void method(){
            int n = 90; // local variable
      }
}