Önceki makalelerde veri tiplerini işlemiştik. Artık değişken ve sabit tanımlama kısmına geçebiliriz. Hemen başlayalım…
Değişken ve Sabit’ler bellekte veri depolarken kullandığımız takma isimlerdir. Verileri birbirinden ayırt edebilmek için onlara isim veririz. Veriler ihtiyacımızı karşılayacak şekilde ya sabit ya da değişken şekilde tutulabilir. Program yazarken genellikle verileri değişken şekilde saklarız. Sabitlere çok az ihtiyacımız olur. Az kullanıyor olmamız sabitlerin değersiz olduğu anlamına gelmez. İkisi de programlamanın temel konularıdır.
Değişken Tanımlama
Değişken veritipi degisken_adi = deger şeklinde tanımlanır. Önce saklayacağımız verinin tipini yazarız. Ardından değişkene vereceğimiz isimi yazarız. Son olarak eşittir işaretini koyup verinin tipine göre tek tırnak içinde, çift tırnak içinde veya hiç tırnak kullanmadan değerini yazarız. Burada eşittir ifadesini simgenin adını “eşittir” diye telaffuz ettiğimiz için kullandım. Eşittir burada bildiğimiz eşitlik (veya denklik) değil atama anlamına geliyor. Bir başka şekilde ifade edecek olursak; “değişken bak senin değerin budur” demek için eşittir işareti koyulur. Böylelikle değişkenin değeri ona atanmış olur.
Örnek verecek olursak;
1 2 3 4 5 6 7 8 9 10 11 |
public class Main { public static void main(String[] args) { String simdiki_mevsim = "Yaz"; short Simdiki_yil = 2018; short simdiki_yil = 2018; String ornek_meyve = "Elma", ornek_hayvan = "Kedi", ornek_ay = "Ocak"; int dunya_gunes_arasi_mesafe___kilometre; dunya_gunes_arasi_mesafe___kilometre = 149600000; System.out.println(dunya_gunes_arasi_mesafe___kilometre); } } |
Örnekte de gördüğümüz gibi önce değişkenin tipini yazdık. Ardından ona bir isim verip onu yazdık. Son olarak da eşittir işareti koyarak taşıyacağı değeri yazdık. Böylelikle tanımlama işlemi tamamlanmış oldu.
Örnek verirken simdiki_mevsim ve simdiki_yil değişkenlerini özellikle seçtim. Mevsim ve yıl sürekli değiştiği için değerleri de sürekli değişmesi gerekiyor. Bu demek oluyor ki ileriki bir zamanda bu verilerin değişme ihtimali var. Sürekli aynı değerde kalmayacaklar.
Burada dikkat etmemiz gereken bazı kurallar var.
- Değişken isimleri sayı ile başlayamaz.
- Her değişkenin mutlaka bir tipi olmalıdır.
- Değişken isimlerinde İngilizce karakterler kullanılmalıdır. Türkçe ve bazı diğer dillerin karakterleri kullanılabilse de İngilizce karakterler tercih edilmelidir.
- Değişken isimlerinde boşluk kullanılamaz.
- Değişkenler değer atanmadan kullanılamaz. Değişkeni değersiz olarak tanımladıktan sonra değerini atayabiliriz. Önemli olan onu kullanmadan önce değerini atamış olmamız gerekiyor.
- Aynı tipteki değişkenler tek satırda tanımlanabilir.
Not: Java büyük küçük harfe duyarlı ( Case Sensitive) bir dildir. Simdiki_yil ile simdiki_yil değişkenleri aynı değişken olarak algılanmaz. 1 harf bile farklı olursa 2 farklı değişken olarak görür.
Bu saydığımız kurallar sabit tanımlamada da aynen geçerlidir. Tekrardan aynı satırları aşağıda yazmayacağım.
Aşağıda değişkenler ile ilgili biraz daha detaylı bilgi ve çeşitli örnekler verdim. Sabit tanımlama konusundan sonra tekrardan değişkenler konusunu incelememiz bilgilerimizi güçlendirmek açısından faydalı olacaktır.
Sabit Tanımlama
Sabit tanımlarken değişken tanımlamada dikkat ettiğimiz tüm kurallara dikkat etmemiz gerekiyor. Sabitler adından da belli olduğu üzere 1 kere değeri atandıktan sonra bir daha değiştirilemezler.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public class Main { final float PI = 3.14f; // Doğru kullanım final byte aylarin_sayisi; // Hatalı kullanım aylarin_sayisi = 12; public static void main(String[] args) { final byte mevsimlerin_sayisi = 4; // Doğru kullanım final String dunyanin_uydusu; // Doğru kullanım dunyanin_uydusu = "Ay"; } } |
Burada tek bir istisna vardır. Instance olarak tanımlanan sabitlere mutlaka değer atanmak zorundadır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
public class Main { byte ilk_degisken_sayi = 1; // İlk değeri atadık ve çalışıyor... byte ikinci_degisken_sayi; // İlk değeri atamadan çalışıyor... final byte ilk_sabit_sayi = 35; // İlk değeri atadık ve çalışıyor... final byte ikinci_sabit_sayi; // İlk değeri atamadık ve hata verdi. Sınıf bazında sabit (instance) tanımlarken ilk değerin verilmesi zorunludur ! // Burada tanımlanan değişken ve sabitlere sınıf bazında tanımlandığı için instance değişken ve instance sabit denir. public static void main(String[] args) { byte ucuncu_degisken_sayi = 3; // İlk değer atadık ve çalışıyor... byte dorduncu_degisken_sayi; // İlk değer atamadan çalışıyor... dorduncu_degisken_sayi = 4; final byte ucuncu_sabit_sayi = 3; // İlk değer atadık ve çalışıyor... final byte dorduncu_sabit_sayi; // İlk değer atamadık ve çalışıyor... dorduncu_sabit_sayi = 4; // Burada tanımlanan değişken ve sabitlere local variables ve local statics denir. } } |
Sabitlerden en temel özelliği değişmemesi demişken örnek vermemek olmaz. Aşağıda tanımlanmış bir sabite tekrar değer atamaya çalıştık. Kullandığım IDE hemen sorunu algıladı ve Cannot assign a value to final variable 'dunyanın uydusu'
şeklinde uyarı verdi.
1 2 3 4 5 6 7 8 9 |
public class Main { public static void main(String[] args) { final String dunyanın_uydusu = "Ay"; // .... // .. Diğer kodlar.. // .... dunyanın_uydusu = "Mars"; // Hatalı kullanım } } |
Java’da Kullanılan Anahtar Kelimeler
Java’da değişken (variable), sabit (constant), sınıf (class), metot (method), arayüz (interface) ve paket (package) tanımlarken Java’nın kendine ayırdığı sözcükleri kullanamayız. Tanımlamalar sırasında İngilizce kelimeler seçmek yazılımın sağlığı ve okunabilirliği açısından daha faydalıdır. Eğer Türkçe kelimeler ile tanımlama yapmayıp İngilizce kelimeler ile çalışıyorsanız aşağıdaki sözcükleri kullanmamamız gerekiyor. Zaten kullandığımız an üzerinde çalıştığımız IDE hata verecektir.
abstract |
continue |
for |
new |
switch |
assert*** |
default |
goto* |
package |
synchronized |
boolean |
do |
if |
private |
this |
break |
double |
implements |
protected |
throw |
byte |
else |
import |
public |
throws |
case |
enum**** |
instanceof |
return |
transient |
catch |
extends |
int |
short |
try |
char |
final |
interface |
static |
void |
class |
finally |
long |
strictfp** |
volatile |
const* |
float |
native |
super |
While |
* Kullanılmıyor
** 1.2 Sürümünde Eklendi
*** 1.4 Sürümünde Eklendi
**** 5.0 Sürümünde Eklendi
Örnek verecek olursak;
1 2 3 4 5 6 7 8 9 10 11 |
public class Main { public static void main(String[] args) { // Türkçe kelime ile değişken tanımlama Integer[] kutu = {1,2,3,4,5}; // İngilizce kelime ile değişken tanımlama Integer[] case = {1,2,3,4,5} // Kodu İngilizce yazmaya özen gösteriyorsanız "kutu" yerine "case" yazamazsınız. "case" Java tarafından özel olarak ayrılmış bir kelimedir. } } |
Şimdilik bu yazıya geçici olarak nokta koyuyorum. En kısa zamanda aşağıdaki konularda eklemeler yaparak makaleyi güncelleyeceğim.
- Değişken çeşitleri
- Tüm veri tiplerinde örnek değişken ve sabit tanımlama
Faydalı olması dileğiyle..
İlk Yorumu Siz Yapın