Java - Değişkenler
Java programlama dilinde değişkenler, programın bellekte verileri saklamasını ve kullanmasını sağlayan öğelerdir. Her değişken, bir veri tipine ait bir değere sahiptir. Veri tipleri, değişkenlerin bellekte nasıl saklanacağını ve nasıl kullanılacağını belirler.
Java'da iki tür veri tipi bulunur: ilkel (Primitive) veri tipleri ve ilkel olmayan (Non-Primitive) veri tipleri. İlkel veri tipleri, Java dilinin temel veri tipleridir ve sadece tek bir değere sahiptirler. Bunlar int, float, double, char, boolean ve byte veri tipleridir. Örnek olarak, bir int değişkeni oluşturmak için aşağıdaki kod kullanılabilir:
int sayi = 10;
İlkel olmayan veri tipleri ise, birden fazla değere sahip nesnelerdir ve genellikle daha karmaşık veri yapılarını temsil ederler. Bunlar String, Array, Class ve diğer koleksiyon tipleridir. Örnek olarak, bir String değişkeni oluşturmak için aşağıdaki kod kullanılabilir..
String isim = "Java";
Değişkenlerin veri tiplerine ait değerler bellekte saklanır. Bellekteki bir değişkenin değerini değiştirmek için, o değişkenin değerine atama işlemi yapılmalıdır. Örnek olarak, aşağıdaki kod ile sayi değişkeninin değeri 20'ye atanabilir..
sayi = 20;
Değişkenlerin veri tiplerine ait değerlerin bellekte nasıl saklandığı, bellek adreslerinin boyutlarına ve veri tipine bağlıdır. Örneğin, int veri tipinin bellekteki boyutu 4 bayttır ve float veri tipinin bellekteki boyutu ise 8 bayttır.
Java'da veri tipleri önemlidir çünkü bellekte verilerin nasıl saklanacağını ve nasıl kullanılacağını belirler. Aynı zamanda, Java'da değişkenlerin veri tiplerine göre farklı operasyonlar yapılabilir. Örneğin, int veri tipindeki değişkenler aritmetik işlemlerde kullanılabilirken, String veri tipindeki değişkenler dizgi işlemlerinde kullanılabilir. Ayrıca, Java'da değişkenlerin veri tiplerine göre farklı fonksiyonlar ve metodlar kullanılabilir.
Ayrıca, Java'da veri tipleri statik olarak tanımlanır ve değişken oluşturulduğunda, veri tipi bellekteki boyutunu ve saklanması gereken değer tipini belirler. Bu, bellek yönetimi ve program performansı açısından önemlidir.
Değişkenlerin Kapsamı
Java'da, değişkenlerin kapsamı, değişkenin tanımlandığı yere veya blokların sınırlarına göre belirlenir. Değişken kapsamı, bir değişkenin hangi bölümlerinde geçerli olduğunu belirler ve hangi bölümlerinde kullanılamayacağını gösterir.
Java'da, değişken kapsamı şu iki şekildedir:
- Yerel Değişkenler: Metodlar, bloklar veya yapılandırıcılar içinde tanımlanır ve sadece o bölümde geçerlidir.
- Genel Değişkenler: Sınıf dışında tanımlanır ve tüm sınıf içinde geçerlidir.
Örneğin, aşağıdaki örnekte, yerel adlı yerel değişken, sadece main metodu içinde geçerlidir ve başka bir metod veya blok içinde kullanılamaz..
public class Main
{
public static void main(String[] args) {
int yerel = 10;
System.out.println(yerel);
}
}
Aynı şekilde, aşağıdaki örnekte, genel adlı genel değişken, tüm sınıf içinde geçerlidir ve tüm metodlar ve bloklar içinde kullanılabilir..
public class Main
{
static int genel = 20;
public static void main(String[] args) {
System.out.println(genel);
}
}
Bu şekilde, Java'daki değişken kapsamı, programların verileri nasıl yöneteceğini ve nasıl saklayacağını belirler. Değişken kapsamı, programların okunabilirliğini ve mantıklı yapısını arttırarak kodun daha iyi anlaşılmasını sağlar.
Değişken adlandırma kuralları
Java'da, değişken adlandırma kuralları şunlardır...
- Değişken adı sayısal karakterlerle başlayamaz.
- Değişken adı Java anahtar kelimeleri kullanamaz.
- Değişken adı boşluk içeremez.
- Değişken adı sadece harfler, sayılar veya alt çizgi içerebilir.
- Değişken adı uzunluğu sınırsızdır.
- Değişken adı büyük ve küçük harf duyarlıdır.
Bu kurallar, Java'daki değişken adlandırmasının standartlaşmasını ve kodun daha iyi anlaşılmasını sağlar. Değişken adı, değişkenin ne içerdiğini ve ne için kullanıldığını anlamaya yardımcı olur ve bu nedenle kodun okunabilirliğini arttırır.
İlkel (Primitive) veri tipleri
Java dilinde, primitive veri tipleri, temel veri tiplerini temsil eden veri tipleridir. Bu veri tipleri aşağıdaki gibidir..
- int: Tam sayı verileri için kullanılır. Örnek olarak, 123 ve -456.
- float: Küsüratlı sayılar için kullanılır. Örnek olarak, 3.14 ve -2.718.
- double: Daha büyük hassasiyette küsüratlı sayılar için kullanılır. Örnek olarak, 3.14159265 ve -2.718281828.
- long: Daha büyük tam sayı verileri için kullanılır. Örnek olarak, 12345678910.
- char: Tek karakter verileri için kullanılır. Örnek olarak, 'A' ve 'z'.
- boolean: Mantıksal veriler için kullanılır ve sadece iki değer alabilir: true veya false.
- short: Daha küçük tam sayı verileri için kullanılır. Örnek olarak, 12345.
Bu veri tipleri, Java programlamasında en sık kullanılan veri tipleridir ve kodun performansını arttırır çünkü bu veri tipleri bellekte direk olarak depolanır ve verilerin değişimi hızlandırılır.
İlkel olmayan (Non-Primitive) veri tipleri
Java dilinde primitive veri tiplerinden farklı olarak, çok daha fazla fonksiyon ve özellik sunan veri tipleridir. Bu veri tipleri şunlardır..
- String: Karakter dizilerini temsil eden veri tipidir. Örnek olarak, "Merhaba Dünya!".
- Array: Bir dizi verileri saklamaya yarayan veri tipidir. Örnek olarak, [1, 2, 3, 4, 5].
- Class: Java programlamasında nesnelerin tanımlanmasına yarayan veri tipidir.
- Interface: Java programlamasında farklı sınıflar arasındaki ortak metodları tanımlamaya yarayan veri tipidir.
- Enum: Java dilinde, belirli bir sayıda sabit değere sahip verileri temsil etmek için kullanılan veri tipidir.
Non-primitive veri tipleri, primitive veri tiplerinden daha fazla fonksiyon ve özellik sunar ve programlamada daha esnek ve kullanışlıdır. Bu veri tipleri, bellekte bir referans verisi olarak depolanır ve verilerin değişimi ve saklanması daha kolay hale gelir.
Tür dönüştürme (Casting ve Conversion)
Java programlamasında veri tiplerinin birbirine dönüştürülmesi işlemine denir.
Type Casting, bir veri tipinin diğer bir veri tipine dönüştürülmesi anlamına gelir. Örneğin, int tipindeki bir değer double tipine dönüştürülebilir. Type casting, Java dilinde programcının kontrolü altındadır ve programcı tarafından yapılmalıdır.
Aşağıdaki örnekte int tipindeki "sayi" değişkeni double tipine dönüştürülmüştür.
int sayi = 10;
double d_sayi = (double) sayi;
Type Conversion ise veri tiplerinin Java dilinin kendisi tarafından otomatik olarak dönüştürülmesi işlemidir. Aşağıdaki örneği inceleyelim..
int x=10;
float y;
y=x; //y=10.000000.
Bu örnekte, Java dilinin kendisi int tipindeki "x" değişkenini float tipine dönüştürmüştür.
Her iki işlem de, verilerin kaybına sebep olabilir ve verilerin doğru şekilde dönüştürülmesi çok önemlidir. Bunun için, Java dilinde bulunan çeşitli metodlar kullanılabilir ve programcının veri tiplerini ve verilerin dönüştürüleceği veri tiplerini doğru bir şekilde belirlemesi gerekir.
Final ve Sabit (Constant) Değişkenler
"Final keyword", değiştirilmesi yasaklanmış değişkenler tanımlamak için kullanılır. Bu anahtar kelime, tanımladığınız değişkenin değerini değiştirmek istediğinizde hata verir ve programın çalışmasını durdurur. Örneğin...
final int x = 5;
x = 10; // Hata verir
"Sabit Değişkenler" ise, programın tümü boyunca değişmeyen değerleri tanımlamak için kullanılır. Sabit değişkenler, "final keyword" ile tanımlanır ve büyük harflerle yazılırlar. Örneğin..
final double PI = 3.14;
Bu şekilde tanımlanmış sabit değişkenler, programın tümü boyunca aynı değerini saklar ve değiştirilmez.