Sıfırdan Java programlama dersleri serisinde bu dersimizde “ Java Programlama Dersleri – Değişkenler (Veri Tipleri)” konusuna değineceğiz.

Değişken nedir, değişken tipleri nelerdir?, değişken isimlendirme kuralları, veri tipleri, Eclipse IDE’de daire alanı hesaplama uygulaması, Netbeans IDE ortamında veri tiplerini yazdırma, atama operatörü ve ASCII Tablosu konularını ele alacağız.

Değişken Nedir? (What is variable?)

 

Java programlama dersleri içerisinde anlatacağımız değişkenler konusuna başlamadan önce “Değişken Nedir?” bundan bahsedelim.

Java programları yazarken işlem yapmak istediğimiz veri tipleri için hafızada ayrılan yere değişken denir. Değişken dememizin sebebi ise içeriğinin istediğimiz zaman değiştirilebilir olmasından ileri gelir..

Java Programlama Dersleri Değişken Nedir?

 

Yukarıdaki kod’da sayısal olarak 10 değerini integer olarak belirlediğimiz sayi değişkenine atıyoruz.  Java’da ” = “ operatörü atama operatörüdür. Eşitliğin sağ tarafındaki değeri sol tarafa atamak için kullanılır.

 

Değişken Tipleri (Type of Variables)

 

Java’da üç çeşit değişken tipi vardır. Bunlar :

  1. Local variables                                 :  Java’da bir metod içerisinde tanımladığımız (declare / declaration) değişkenlere, local değişkenler denir. Local değişkenleri metod içerisinde kullanacaksak eğer ilk değer ataması yapmak zorundayız.
  2. Instance variables                           : Instance değişkenler ise class(sınıf) içerisinde tanımlanır, yani metod dışında tanımlanan statik(static) olmayan değişkenlerdir. İlk değer ataması (initialize) yapmak zorunda değiliz. Sadece final değişkenlere ilk değer vermek zorundayız.
  3. Static variables (Class variables)   : Statik değişkenler ise bir sınıf içerisinde tanımladığımız(declared) static değişkenlere verilen addır.  Bu değişkenler lokal olamazlar. İlk değer ataması (initialize) yapmak zorunda değiliz. Bunda da final değişkenlere ilk değer ataması zorunludur. İlerleyen derslerimizde ayrıntılı olarak açıklayacağız.

Bu söylediğimiz değişkenleri bir örnekle açıklayacak olursak ;

Değişken İsimlendirme Kuralları

 

Java programlama dilinde değişken isimlendirme kuralları aşağıdaki gibidir :

  • Değişkenler, Java’da tanımlanmış özel kelime(reserved word) veya anahtar kelimeler(keyword)den olamaz.
  • Değişken isimlerinde Türkçe karakterler kullanılmaz.
  • Değişken isimleri, rakamla başlayamaz ancak içerisinde rakam bulunabilir. Ancak dolar($) ve alt tire(_) karakterleri ile başlayabilir.
  • Değişken isimleri case sensitive yani büyük-küçük harf duyarlıdır.
  • Değişken birden fazla kelime içeriyorsa araya boşluk koyamazsınız. Bunun yerine “ _ ” karakteri kullanılabilir.

Veri Tipleri (Data Types)

 

Java da 2 çeşit veri tipi vardır. Bunlar Primitive tipler ve non-primitive tiplerdir.

  • Primitive Tipler
    • Boolean Veri Tipi (0 ve 1 değeri alır; yani true ve false)
    • Sayısal Tipler (Numeric Types)
      • Character (char)
      • Integral
        • Integer
          • byte
          • short
          • int
          • long
        • Floating Point
          • float
          • double
  • Non-Primitive Tipler
    • String
    • Array
    • etc.
 

Java Programlama Dersleri Veri Tipleri Data Types

 

Şimdi Java’daki primitive tiplerin (ilkel tipler) default değerlerinden bahsedelim. boolean tipi default olarak false değeri alırken, char tipi ‘\u0000’ değerini alır.

byte, short ve int tipleri ise default olarak 0 değerini alır. long tipi ise default olarak 0L değerini alırken float tipi 0.0f ve double tipi de 0.0d değerlerini alır.

Sayısal tiplerin sonuna onun tipini belirten bir harf koymazsak int tipi gibi davranır. Bu sebeple long tipinin sonuna L veya l harfi konulur. Aynı şekilde ondalık bir sayının sonuna harf koymazsak double gibi davranır. Bu sebeple float tipinde bir değişkenin sonuna F ya da f harfini koyarız.

Virgülden sonraki hassasiyetler double‘da float‘tan çok daha fazladır.

char tipindeki değişkenlerin içine ‘a’, ‘Z’ gibi atamalar yapabileceğimiz gibi 65 ya da ‘\u0042’ şeklinde değer ataması da yapabiliriz.

Java’da primitive türlerin hafızada kapladıkları yerler aşağıdaki gibidir :

 

Java da veri türleri ve boyutları

 

Buraya kadar bahsettiğimiz değişken tipleri hakkındaki teorik bilgilerimizi şimdi bir uygulama üzerinde gösterelim.

 

Daire Alanı Hesaplama (Uygulama) – Eclipse

 

Dairenin alanını hesaplayan bir uygulama yapalım. Bir dairenin hesabı için o dairenin yarıçap ve pi sayısına ihtiyacımız vardır. (Alan = Pi * r2)

DaireAlani = piSayisi * (yaricap*yaricap)

şeklinde hesaplanır. Yukarıdaki ifade,  Pi * r2 değerini hesapladıktan sonra sonucu DaireAlani değişkenine atıyor.

Dolayısıyla bizim 3 ayrı değişkene ihtiyacımız var. Bunlar : alan, piSayisi ve yaricap

Bu değişkenleri kullanarak programımıza başlayalım. Bir değişkeni kullanmaya başlamadan önce ilk olarak onu tanımlamamız lazım. (declared) Değişken tanımlaması :

[degiskenTipi]  degiskenİsmi ; //Java’da kodlar ; ile sonlandırılır.

[degiskenTipi] degiskenİsmi = deger;

seklinde yapılır. Değişken tanımlamasını yaparken ilk değer ataması yapabileceğimiz gibi ilk değer atamasını sonradan da yapabiliriz. Java’da ‘ = ‘ operatörü atama operatörüdür ve ilk değer ataması yaparken kullanılır.

ifadesi ile

ifadesi aynıdır. Bu ifadeyle bellekte double tipinde pi adında bir alan ayırıyoruz ve bu alana 3.14 değerini koyuyoruz.

Eclipse IDE kullananlar ilk olarak DegiskenTipleri adında bir proje oluştursunlar. Sonrasında src klasöründe sağ tıklayarak > New > Class diyerek içerisinde main metodu olan SayisalTipler adında bir sınıf oluştursunlar.

Eclipse IDE programının kullanımı hakkında fikri olmayanlar “Eclipse IDE ortamının tanıtılması” isimli makalemizi okuyabilirler.

 

java programlama dersleri veri tipleri proje olusturma

 

Sonrasında SayisalTipler.java sınıfının içerisine aşağıdaki kodları eklesinler.

Java Programlama Dersleri Daire Alanı Hesaplama Eclipse

 

Programı biraz açıklayalım.

İlk olarak pi adında double tipinde bir değişken tanımlayıp içerisine 3.14 değerini koyduk. Sonrasında yaricap adında double tipinde bir değişken tanımlayıp içerisine 2.45 değerini atadık. Sonrasında double tipinde alan adında bir değişken oluşturduk.

 
Kodların görünüş olarak daha düzgün gözükmesi için Eclipse > Source menüsünden > Format a tıklayabilirsiniz.
 

alan değişkenine Pi * r2 değerini atadık. En son olarak sonucu “System.out ..” metodu ile yazdırmış olduk. System.out.println() metodu içerisindeki değerleri ekrana yazdırır.

System.out.println() metodu içerisine aldığı çift tırnak içindeki ifadeleri metin olarak ekrana basar. İçindeki  int, double, float , etc… değişken tiplerininde içeriğini ekrana basabilir.

 
sysout yazdıktan sonra klavyeden Ctrl + Space tuşlarına basarsanız, Eclipse otomatik olarak metodu yazacaktır.
 

Bu programı çalıştırdığımızda Eclipse’in alt kısmında yer alan Console kısmında aşağıdaki gibi bir sonuç elde ederiz.

 

Java Programlama Dersleri Daire Alanı Hesaplama çıktısı

 

Veri Tiplerini Ekrana Yazdırma (Uygulama) – NetBeans

 

Veri tiplerini ekrana yazdırma ile alakalı uygulamamızda veri tiplerini biraz daha iyi tanıtacağız.

Bu uygulamamızı da NetBeans IDE’de yapalım istiyorum. Böylelikle iki IDE ortamını da görmüş olacağız. İlk olarak DegiskenTipleri adında bir proje oluşturun. Ancak projeyi oluşturken Finish demeden önce aşağıdaki resimde gözüken class ismini SayisalTipler olarak değiştirin.

 
NetBeans IDE ortamında proje oluşturma, class oluşturma konusunda fikri olmayanlar “NetBeans IDE ortamının tanıtılması” makalesini okuyabilirler.
 

Java Programlama dersleri netbeans ide veri tipleri

 

NetBeans IDE ortamında Projects kısmınız aşağıdaki gibi olacaktır :

 

Netbeans ide java programlama dersleri veri tipleri proje oluşturma

 

SayisalTipler.java sınıfınıza çift tıklayarak aşağıdaki kodları yazınız.

Kod kısmı aşağıdaki gibi olacaktır.

 

Netbeans IDE java Programlama dersleri veri tipleri ekrana yazdırma

 

Programımızı açıklayalım.

Java’da programın main metodu ile başlayıp satır satır aşağıya doğru işlendiğinden bahsetmiştik. İlk olarak i adında ve int tipinde bir değişken oluşturup içine 54 değerini atadık.. short tipindeki s isimli değişkene 34 değerini, double tipindeki d isimli değişkene 3.45 değerlerini atadık.

System.out.println() metodu içerisindeki “\n” ifadesi imleci bir alt satıra getirmek için kullanılır. Ayrıca System.out.println() içerisindeki ‘+’ operatörleri ifadeleri yan yana birleştirmek için kullanılır. Örneğin;

kodunun çıktısı

Bu ders elektroyazilim.org için hazırlanmıştır.

şeklindedir. Görüldüğü gibi metinsel ifadeleri birleştirmek için + operatörünü kullandık.

 
NetBeans IDE ortamında, kodların görünüşünü otomatik olarak düzenlemek için Source menüsünde > Format a tıklayabilirsiniz.
 

char tipinde diğerlerinden farklı olarak 3 farklı değişken tanımladık. Bu tanımlamalardaki amacımız char tipine 3 farklı şekilde değer ataması yapılabileceğini göstermekti.

Sizlerinde gördüğü gibi char tipi değişkene tek tırnak ‘ ‘  içerisinde atama yapılabileceği gibi sayısal bir değer de verilebilir. Ör : 78 .

char tipine atanan sayısal değeri gören derleyici, ASCII karakter tablosuna bakacak ve bu tablodaki sayısal değere karşılık gelen karakteri char değişkenimize atayacaktır.

Aynı tipteki birden fazla değişkeni yan yana tanımlayabiliriz. Mesela c1, c2 ve c3 karakterleri şöyle de tanımlayabilirdik:

ASCII Tablosu Java programlama dersleri

 

ASCII tablosuna bakarsanız c3 karakterine atadığımız sayısal 78 (decimal) değerinin tabloda N karakterine karşılık geldiğini göreceksiniz.

Uygulamamızı çalıştırdığımızda sonuç NetBeans IDE’nin hemen alt kısmında yer alan Output ekranında aşağıdaki gibi gözükecektir.

 

java programlama dersleri netbeans ide veri tipleri ekrana yazdırma sonuc

 

Literals (Integer, Floating Points , Strings)

 

Literals kelimesinin Türkçe karşılığını bilmediğim için aynen bırakıyorum. Örnekleri incelediğinizde değişken atamalarının değişik gösterim halleri olduğunu anlayacaksınız. Literals konusunu iki ayrı başlık halinde inceleyeceğiz. Bunlar :

  1. Integer Literals
  2. Floating Points Literals
 

Integer Literals

 

Matematik dersinden bilenler bilir, sayılar farklı sayı sistemlerinde ifade edilebilir. Yani bir sayı 2lik sistemde farklı yazılırken, 10luk sistemde farklı 16lık sistemde farklı yazılabilir, ancak değeri aynıdır. Bizim bilmemiz gereken sayı sistemleri şunlardır :

  • Onluk sayı sistemleri (decimal)
  • Onaltılık sayı sistemleri (hexadecimal)
  • İkilik sayı sistemleri (binary)

Günlük yaşantımızda 10luk sistemi kullanırız. Ama digital ortamlarda binary ve binary tabanlı sayı sistemler temel alınmıştır. 210 = 1024 gibi. Sayı sistemleri arası dönüşümleri bilmiyorsanız bunu yapan online sitelerden faydalanabilirsiniz (HexToDecimal , DecToBinary )

Bu bilgiler niçin gerekli bunu bir uygulama üzerinde anlatalım. Uygulama için Eclipse IDE ortamını kullandım. Kodlarımız aşağıdaki gibidir :

Programımızın ekran görüntüsü de aşağıdaki gibidir :

 

Java programlama dersleri Integer literaller

 

Programı açıklayalım. int tipinde decDeger, hexDeger ve binDeger adında 3 tane değişken tanımlandı. Bunların içerisinde ondalık sistemde 45 ‘e karşılık olan değer ataması yapıldı. 45 sayısının 16lık sistemdeki karşılığı olan 0x2D değeri ve 2lik sistemdeki karşılığı olan 0b00101101 değerleri atandı.

Java da onluk sistemde sayı yazarken herhangi bir ifade kullanmamıza gerek yoktur. Ancak hex değer ataması yapacaksak sayının başına “0x….”  ve binary değer ataması yapacaksak sayının başına “0b….” ifadelerini koymalıyız. Derleyici, sayının hangi sistemde verildiğini bu ifadelerden  anlayacaktır.

Uygulamayı derlediğimizde aşağıdaki sonucu alırız :

 

Java programlama dersleri Integer literaller sonuc

 

Görüldüğü gibi derleyicimiz sayı sistemlerini analiz edip int değer olarak sonucu bize onluk sistemde vermiştir.

 

Floating Point Literals

 

Ondalık sayı sistemleri de farklı şekillerde ifade edilebilmektedir.

 
float sayılara değer verirken sayısal değerin hemen sağına f harfi konulmalıdır. Konulmazsa derleyici bunu double sayı kabul eder.
 

Bir uygulama ile konuyu netleştirelim. İlk olarak kodları verelim:

Programımızın ekran görüntüsü de aşağıdaki gibidir :

 

java programlama dersleri floating point literals 1

 

Programımızı açıklayalım. 2 tane double türünde ve 1 tane de float tipinden bir değişken tanımladık. İçerisine aynı değerleri koyduk. d1 ve d2 değişkenlerine aynı değer atanmasına rağmen gösterimin farklı olabileceğini ifade ettik. e harfiyle ifade edilen durum o sayının 10 üzeri bir değer alacağını gösterir.

1.3456e2  = 1.3456  x 102 = 134.56

Float sayılara değer verilirken de değerin en sağına f harfi koymamız gerektiğini göstermiş olduk. Programımızı çalıştırdığımızda sonucun aşağıdaki gibi olduğunu görebilirsiniz :

 

java programlama dersleri floating point literals 2

 

Uygulama – Literaller

 

Şimdi diğer değişken türlerini de içerisine alan genel bir uygulama yapalım.  Programımızda long, byte, float tipinde değişkenler tanımladık ve bunların değerlerini ekrana yazdırdık.

Kodlarımız aşağıdaki gibidir :

Programın ekran görüntüsü :

 

java programlama dersleri degisken literalleri 1

 

Programımızdaki değişkenlere verilen değerlere bakıldığında genelinde  ” _ ” alt tire karakterinin olduğunu görüyoruz. Bu karakteri derleyici görmüyor, biz sadece uzun sayıları daha okunabilir olsun ya da belli bir formata uygun olsun diye kullanabiliyoruz.

long veri tipinde L harfini, float veri tipinde F harfini kullandığımızı fark etmişsinizdir. Programımızın çıktısı aşağıdaki gibidir :

 

java programlama dersleri degiskenler literal uygulamasi sonucu

 

Değişkenlerin Ömrü – Kapsama Alanları (Scope Area)

 

Java’da her değişkenin tanımlı olduğu bir kapsama alanı vardır. Bu alan da değişkenin tanımlandığı blok içerisidir.

Matematikteki en dıştaki kümeyi ve içerisindeki alt kümeleri düşünün. İç kısımda bulunan alt kümelerin içerisindeki elemanların ömrü bulundukları kümeler kadardır. Ancak en dıştaki kümenin içerisindeki elemanların ömrü, en dıştaki kümenin alanı kadardır ve bu alan alt kümeleri de kapsar.

Bu durumu açıklayabilmek adına kaba bir şablon hazırladım. Main metodu içerisinde 3 kapsama alanı gözüküyor. En dıştaki 3 nolu kapsama alanı ömrü en geniş olandır ve 1 ve 2 nolu alanları da kapsar. 3 nolu alanda tanımlanmış olan sayi1 değişkenine 1 ve 2 nolu bloklardan da erişebilirsiniz.

2 nolu alanda tanımlanmış olan sayi2 değişkeni ise 1 ve 2 nolu alanları kapsar ve bu bölgelerde erişimi vardır. sayi2 değişkenine 2 nolu alanın dışında erişemezsiniz (kullanamazsınız).

En içteki 1 nolu alan ise sayi3 ün yaşam alanıdır ve sadece bu blokta yaşar. Sonuç olarak her değişken tanımlandığı blok içerisinde her yerden erişilebilir. Ama blok dışına çıkamaz.

 

Java programlama dersleri değişkenlerin kapsama alanı scope area

 

Umarım anlatabilmişimdir. Aklınıza takılan soruları aşağıdaki yorum panelini kullanarak bizlerle paylaşabilirsiniz.

 

Pin It on Pinterest

Daha fazla Java
Java Programlama NetBeans IDE Ortamının Tanıtılması
Java Programlama NetBeans IDE Ortamının Tanıtılması

Sıfırdan Java programlama dersleri serisinde bu dersimizde “Java Programlama - NetBeans IDE Ortamının Tanıtılması” konusuna değineceğiz. NetBeans IDE ortamında Proje...

Kapat