Mobil Programlama

Android

DERS PROGRAMI
Android 101 Ders Programı

float Türündeki İfadeler

Lisans: Creative Commons 11.12.2020 tarihinde güncellendi
Bakabileceğiniz Etiketler: Eğitmen: Geleceği Yazanlar Ekibi

Programlamada özellikle hesaplama aşamasındayken, sadece tamsayılar üzerinden gitmek sizi sınırlayabilir. Rasyonel sayıları kullanmak istediğinizde, yeni değişken türlerini de kullanmalısınız. Java dilinde float ve double türündeki değişkenler ile rasyonel sayıları tutabilirsiniz.

Float ve double türünden değişkenlerin adını kayan noktalı (floating point) değişkenler olarak da duyabilirsiniz. Buradaki nokta kısmı, tam sayı kısmı ile ondalıklı sayı kısmını bölen virgül oluyor. Float ve double türlerinin arasındaki fark, virgülden sonraki ondalık kısımda tutabildikleri hane sayısıdır. Bu yüzden bir float değişken sanal bellekte 32 bitlik yer tutarken, double türündeki bir değişken 64 bit yer tutacaktır.

Kayan noktalı bir tip yerine tamsayı tipini kullandığınızda olacakları daha iyi anlamak için aşağıdaki örneği inceleyiniz:



public class FloatDeneme1 {
    public static void main(String[] args) {

        int sinav1=50;
        int sinav2=55;

        int ortalama_yaklasik   =(sinav1+sinav2)/2;
        float ortalama_tam      =(float) (sinav1+sinav2)/2;

        System.out.println("Sinav ort. (yaklasik): "+ortalama_yaklasik);
        System.out.println("Sinav ort. (tam olrk): "+ortalama_tam);
    }
}

Bu programın çıktısı şu şekilde olacaktır:

Gördüğünüz gibi int tipindeki ortalama_yaklasik değişkenin 52,5 çıkan sonucu, tamsayı tipinde olduğu için 52'ye yuvarladı. float tipindeki ortalama_tam değişkeni ise olması gerektiği gibi 52,5 olarak kaldı.

NOT: float ortalama = (float) (sinav1+sinav2)/2; satırındaki (float) ifadesi ile "(sinav1+sinav2)/2" işleminden gelen sonucun float olarak tutulmasını sağlıyoruz.

 

Gördüğünüz gibi kayan noktalı değişkenleri tanımlarken bazı ifadelere dikkat etmek gerekiyor.

Şimdi de float ile double türlerinin hassasiyetleri üzerine bir örneğe göz atalım:



public class FloatDeneme2 {
    public static void main(String[] args) {

        //Math.PI, bize PI sayısını döndürür
        float PI_float  =(float) Math.PI;
        double PI_double=Math.PI;

        System.out.println("PI sayisi: "+PI_float);
        System.out.println("PI sayisi: "+PI_double);
    }
}

Çıktısı şöyle olacaktır:

NOT: Math.PI ifadesi, PI sayısını tutan bir ifadedir.

 

Gördüğünüz üzere double türündeki PI_double değişkeni, PI sayısına ilişkin daha fazla ondalık değeri tutabiliyor. Bu yüzden double değişkenler, daha hassas hesaplama gereken yerlerde kullanılır.