Değişkenler üzerinde veri depolayan sembolik isimlerdir. Verileri birbirinden ayırmak için kullanılırlar. Her değişkenin bir tipi vardır. Bu veri tipleri, değişkenlerin tanımlanmasında kullanılan primitive (temel) ve nesne tanımlanmasında kullanılan referans tipleri olmak üzere 2′ ye ayrılır. Primitive tipler ile oluşturulmuş değişkenler, belleğin stack (yığın) kısmında tutulurlar. Referans tipler ile oluşturulmuş değişkenler ise belleğin heap alanında tutulutlar. (Kodlab Yayınları Java 7)

Değişken Tanımlama Kuralı :

Ozel_anahtar_kelime Veri_Tipi degisken_adi;

Özel Anahtar Kelimeler:

Public, private, protected, static gibi anahtar kelimeler olabilir. Bunları yazmak zorunlu değildir. Default değeri public’ tir.

Veri Tipi:

Değişkenleri tanımlarken önce tipi yazılır. Daha sonra değişkenin adı yazılır.

Bir değişken tanımlama örneği verirsek;

int x; //x adında değişken tanımlandı fakat içerisinde veri olmadığı için bellekte yer kaplamaz.

int x = 2; //Değer atadığımız için bu değişkene bellekte bir alan ayrıldı.

Değişken Tanımlama Kuralları

  1. Her değişken bir tipe sahip olmalıdır.
  2. Değişkenler, değer atanmadan kullanılamazlar.
  3. Aynı tip değişkenler, aynı satırda tanımlanabilir.
  4. Değişken isimlerinde Türkçe karakter kullanılmamalıdır.
  5. Değişken isimleri sayı ile başlayamaz ve değişken ismine boşluk olmamalıdır.

PRİMİTİF TİPLER

Byte

8 bittir. Bellekte 1 byte yer kaplar. Tam sayı tütünde -128 ile 127 arasında değer alır. Küçük değerli sayılar için, int yerine de kullanılabilir. Varsayılan değeri 0′ dır.

Short

16 bittir. Byte tipindekilerden daha büyük sayı alabilir. Tamsayı türünde -32768 ile 32767 arasında değer alır. Varsayılan değeri 0′ dır.

Int

32 bittir. Bellekte 4 byte yer kaplar. Tamsayı türünde -2^63 ile 2^63-1 arasında değerler alır. Varsayılan değeri 0′ dır.

Long

Uzunluğu 64 bittir. Tamsayı türünde -2^63 ile 2^63-1 arasında değerler alır. Varsayılan değeri 0′ dır.

Float

Uzunluğu 32 bittir. Ondalık sayı türükde -3,4*10^38 ile -3,4*10^38 arasında değer alır. Varsayılan değeri 0,0f’ dır.

Double

Uzunluğu 64 bittir. Ondalık sayı türünde -1,7*10^308 ile 1,7*10^308 arasında değer alır. Varsayılan değeri 0,0d’ dir.

Char

Uzunluğu 16 bittir. Karakter türünde değer alır. İçerisinde yalnızca bir harf,rakam veya işaret girilebilir. Girilen bu değerler çift tırnak değil tek tırnak arasına yazılmalıdır. Bu veri tipinde büyüktür küçüktür gibi karşılaştırmalar yapılabilir. Varsayılan değeri \u0000′ dır.

Boolean

Yalnızca 2 değer alır (true veya false). Bellekte 1 byte yer kaplar. Varsayılan değeri false’ dur.

REFERANS TİPLER

Array, Class ve Interface olarak tutabileceğimiz 3 referans tipi vardır. Referans tiplerde değişkenlerin adresleri tutulur. Referans tipler new anahtar sözcüğü ile tanımlanır. Primitive tiplerden farklı olarak işlemler değişkenin kendisi ile yapılır. Yani kopya üzerinden değil de orjinali üzerinden işlem yapar.

CAST İŞLEMİ

Integer – Double dönüşümü :

package com.org.java;
public class Java
{
public static void main(String [] args)
{
int sayi = 345;
double sayi2 = (double)sayi;
System.out.println(sayi2);
}
}

Bu örneğin çıktısı :

345.0

String – Integer dönüşümü :

package com.org.degiskenler;
public class Degiskenler
{
public static void main(String [] args)
{
String degisken = “3”;
int yeni = Integer.valueOf(degisken);
System.out.println(yeni*yeni);
}
}

Bu örneğin çıktısı:

9

Integer – String dönüşümü :

package com.org.java;
public class Java{
public static void main (String [] args)
{
int sayi = 9;
String deger = String.valueOf(sayi);
String deger = Integer.toString(sayi);
System.out.println(deger);
}
}

Bu örneğin çıktısı:

“9”

Sabit Değişkenler

Değeri değiştirilemeyen değişkenlerdir.

Örnek verecek olursak;

final int x = 5; //final ile sabit tanımlaması

 

Lokal Değişkenler

Bir metodun içerisinde tanımladığımız değişken ile başka metodda tanımladığımız değişken birbirinden bağımsızdır. Herhangi birinde yapacağımız değişiklik diğerini etkilemez.

Örnek üzerinde incelersek;

package com.org.java;
public class Java
{
public static void main (String [] args)
{
for (int i = 0;i<5;i++)
{
int toplam = 1;
toplam += toplam;
}
System.out.println(toplam) //toplam değişkenine erişemez.
}
}

Başka bir örnekle bakarsak;

package com.org.java;
public class Java
{
public static void main (String [] args)
{
int sayi = 4;
metod(sayi);
System.out.println(sayi);
}
static void metod(int sayi)
{
sayi = sayi * 5;
}
}