Değişken, program tarafından kontrol edilebilen bir depolama alanına tahsis edilen addır. Bir değişken türü, değişkenin belleğinin boyutunu ve konfigürasyonunu belirtir.
Bir değişkene eklenebilecek değerin aralığı, değerin içine eklenmeden önce hesaplanır, çünkü değişkenin türüne, değer eklenmeden önce karar verilmesi gerekir.
Değişkenlerin Kapsamı
Bir değişkenin kapsamı tam anlamıyla bir değişkenin ömrüdür. Bir değişkenin geçerli veya hala hayatta olduğu bir kod bloğudur.
function poo() { var a; }
'a' fonksiyonu içinde bir 'poo' değişkeni bildiririz. Bu değişkenin kapsamı o fonksiyonun içinde kalır ve bu fonksiyonun dışında kullanılamaz.
Değişkeni programlamamızda kullanabileceğimiz üç yer vardır.
- Bir fonksiyonda veya bir bloğun içinde buna Yerel değişkenler denir.
- Tüm fonksiyonların dışında kullanılırsa Global değişkenler olarak adlandırılır.
- Fonksiyon parametreleri tanımında kullanılırsa resmi parametreler olarak adlandırılır.
Büyük Fark
- Bir fonksiyonun içinde bildirilen değişkene yerel değişken, fonksiyonun dışında bildirilen değişkene ise genel değişken denir.
- Öte yandan, işlev çalışmaya başladığında ve işlev bittiğinde kaybolduğunda, yürütme başladığında global değişkenler oluşturulur ve program bittiğinde kaybolur. Yerel değişkenler oluşturulur.
- Yerel değişken veri paylaşımını içermez, oysa veri paylaşımı global değişken tarafından sağlanır.
- Yerel değişkenler yığında saklanırken, genel değişken programcı tarafından sabit bir konumda saklanır.
- Yerel değişkenler için parametrelere ihtiyaç duyulurken, global bir değişkenin aktarılmasına gerek yoktur.
Parametre | Yerel | Küresel |
---|---|---|
Kapsam | Bir fonksiyonun içinde. | Kapsam fonksiyonun dışındadır. |
Değer | Değer başlatılmamışsa çöp değeri verecektir. | Değer başlatılmamışsa varsayılan olarak Sıfır verecektir. |
Ömür | İşlev yürütülmeye başladığında oluşturulur ve işlevler sonlandırıldığında kaybolur. | Programın genel yürütülmesi başlamadan önce oluşturulur ve program sonlandırıldığında kaybolur. |
Bilgi paylaşımı | Mümkün değil. | Olası. |
Parametreler | Gerekli. | Gerekli değil. |
Erişilen: | Yerel değişkenler | Program boyunca global değişkenlere erişebiliyoruz. |
Bellek saklama alanı | Yığın üzerinde. | Bilgisayar tarafından atanan sabit bir yerde. |
Yerel değişken
Yerel Değişken, programlama bloğunda veya alt programlarda bildirilen değişkenin bir biçimi olarak belirtilir. Yerel değişken, işlevin bloğu yürütülmeden önce varlığını sürdürür. Bundan sonra otomatik olarak kaybolacaktır.
Yerel Değişken Örneği
public int sum(){ int x =4; int y=5; return x+y; }
Burada 'x' ve 'y' yerel değişkenlerdir
Küresel değişken
Fonksiyonun veya kod bloğunun dışında belirtilen bir değişken, Global Değişken olarak bilinir. Küresel bir erişime sahiptir, bu da programın ömrü boyunca geçerliliğini koruduğu anlamına gelir. Bu nedenle program içerisinde belirtilen herhangi bir özellik, gölgelenmediği sürece program içerisinden bu özelliğe erişebilir.
Küresel Değişken Örneği
int x =4; int y=5; public int add(){ return x+y; }
Burada 'x' ve 'y' global değişkenlerdir.
Global Değişkenleri Kullanmanın Avantajları
- Global değişkene bir programdaki tüm işlevlerden veya modüllerden erişilebilir.
- Modüllerin dışında yalnızca tek seferlik bir global değişken bildirmemiz gerekiyor.
- Kullanıcının programın her yerinde aynı verilere tekrar tekrar erişmesi gerektiğinde kullanılır.
Global Değişkenleri Kullanmanın Dezavantajları
- Pek çok değişken global olarak bildirilir ve programın yürütülmesi tamamlanana kadar bellekte kalır. Bu, Yetersiz Bellek sorununu tetikleyebilir.
- Herhangi bir özellik verileri değiştirebilir. Programda yazılan herhangi bir ifade, global değişkenin değerini değiştirecektir. Çoklu görev ortamlarında bu, öngörülemeyen sonuçlar doğurabilir.
- Kodun yeniden düzenlenmesi nedeniyle global değişkenler durdurulursa, adlandırıldıkları tüm modülleri değiştirmemiz gerekir.
Yerel Değişkenleri Kullanmanın Avantajları
- Yerel değişkenin temel anlamı, görev çalışırken değişkenlerin değerlerinin değişmeden kalmasıdır.
- Eş zamanlı çalışan tek bir değişken birçok görev tarafından değiştirilirse sonuç tahmin edilemez olabilir. Ancak bunu yerel değişken olarak bildirmek sorunu çözecektir.
- Farklı fonksiyonlardaki değişkenlere aynı ismi atayabiliriz.
- Fonksiyon yürütüldükçe değişkenin belleği serbest bırakılır.
Yerel Değişkenlerin Dezavantajları
- Yerel bir değişkenin hata ayıklama yöntemi çok zordur.
- Modüller arasında veri paylaşımı mümkün olmadığından popüler verilerin düzenli olarak iletilmesi gerekiyordu.
- Çok küçük bir spektruma sahiptirler.
Daha yararlı olan nedir?
Herhangi bir dilde program yazarken eşit derecede önemli olan yerel ve global değişken. Bununla birlikte, global değişkenin büyük bir kısmı çok büyük bir hafızayı işgal edebilir. Küresel değişkenlere istenmeyen bir geçişin tanımlanması zorlaşıyor. İstenmeyen global değişkenlerin duyurulmasından kaçınmak da akıllıca olacaktır.