Veri türü üç bileşen tarafından belirlenir:
Bir programlama dili önceden tanımlanmış bazı yerleşik türler içerir ve programcıların kendi, kullanıcı tanımlı tanımlarını yapmalarını sağlar.
Java'da veri türleri ilkel ve referans olarak ayrılmıştır.
«Примитивный» означает, что дальнейшее его bölünme mümkün değildir. Genişletmek veya programlama dilini değiştirmek izin vermiyor. Bu veri türü, ilkel ve diğer özel türlerle tanımlanır.
İlkel türdeki bir değişken bir değer içerir ve bir referans ise bellekteki bir nesnenin adresini içerir.
Bileşik veriler sınıflara, arabirimlere ve dizilere ayrılır. Arabirim türünün üyeleri soyut yöntemler ve sabitlerdir. Java'da, tarih ve saat veri türleri Date () yapıcısı tarafından belirtilir:
Bir bağlantı örneği de bir dizedir.
Dize, Java kitaplığında tanımlanan bir sınıftır ve metinle (bir karakter dizisi) çalışmak için kullanılabilir.
Başvuru String değişkeninin bildirimi aşağıdaki gibidir: String str.
Böyle bir değişkene nesne başvurusu atamadan önce, yeni işleci kullanarak değişken başvurusu oluşturmanız gerekir. Örneğin, "Merhaba" metniyle String sınıfında bir nesne oluşturabilirsiniz:
Bu kod yürütüldüğünde ne olur?İlk olarak, bellek ayrılır ve str adı bu bellek hücresiyle ilişkilendirilir. Bu, ilkel bir değişken bildirmekten farklı değildir. İkinci kod parçası, bellekte “Hello” metniyle bir String nesnesi oluşturur ve ona bir bağlantı (veya bir bellek adresi) str.
Java referans veri türleri de izin verirbir değişkende saklanan bir nesneye, diğerine bir başvuru atama Her ikisi de bellekteki aynı nesneyi ifade eder. Bu, aşağıdaki gibi gerçekleştirilebilir:
Herhangi bir referans değişkenine atanabilecek bir boş kalıcı bağlantı vardır. Herhangi bir nesneye gönderme yapmaz.
Yeni işleç kullanılarak bir String nesnesi oluşturulur.Ancak dizeler sıklıkla kullanıldığından, bir tane oluşturmanın daha kolay bir yolu vardır. Tüm dize değişmezleri, yani çift tırnak içine alınmış bir dizi karakter, String nesneleri olarak kabul edilir. Bu nedenle, yeni işleç yerine, dize değişmez değerleri kullanılabilir:
İlkel Java veri türleri - bayt, kısa, int,uzun, char, şamandıra, çift ve boolean. Bunlar iki kategoriye ayrılır: mantıksal ve sayısal. İkincisi tamsayılara ve kayan nokta sayılarına bölünebilir.
Java tamsayı veri türleri, değerleri tamsayı olan sayısal türlerdir. Bunlardan beş tane var: bayt, kısa, int, uzun ve karakter.
Int, 32 bit imzalı ilkel veri türüdür. Değişken 32 bit bellek alır. Geçerli aralık -2147483648 ile 2147483647 (-2) arasındadır31 2 'ye kadar31 - 1). Bu aralıktaki tüm tamsayılar tamsayı değişmezler veya sabitlerdir. Örneğin, 10, -200, 0, 30, 19 int değişmez değerleridir. Bir int değişkenine atanabilirler:
Değişmez değerlerin tümü ikili, sekizli, ondalık ve onaltılık sayılar olarak ifade edilebilir.
Bir değişmez değer sıfırdan başladığında ve en az iki basamağa sahip olduğunda, sekizlik biçimde yazılmış sayılır. 0 ve 00 aynı değeri temsil eder - sıfır.
Onaltılık biçimde tüm int değişmez değerleri 0x veya 0x ile başlar ve en az bir onaltılık basamak içermelidir:
İkili biçim int değişmez değerleri 0b veya 0B ile başlar:
Bu 64-bit imzalı ilkel tiptir. Hesaplamaların sonucu int aralığını aştığında kullanılır. Uzun menzil - -263 2 'ye kadar63- 1. Bu aralıktaki tüm tamsayılar uzun tip değişmez değerleridir.
Java'daki int ve long veri türlerini ayırt etmek için, son türün bir hazır bilgisi her zaman L veya l ile biter.
Uzun tamsayı değişmez değerleri sekizli, onaltılı ve ikili biçimlerde de ifade edilebilir.
Uzun bir değişkene uzun bir değişmez değeri atandığında,Java derleyicisi atanan değeri kontrol eder ve kabul edilebilir bir aralıkta olduğundan emin olur; aksi takdirde bir derleme hatası ortaya çıkar.
İnt aralığı uzuntan az olduğundan,int değişkeninin değeri her zaman long türünde bir değişkene atanabilir. Ancak int aralığında ters atama yapılamaz. Bunun için açık bir referans kullanılır:
Bayt, 8 bitlik bir tamsayı ilkel tipidir. Aralığı -128 ila 127 (-2) arasındadır7 2 'ye kadar7 - 1). Bu, Java'da bulunan en küçük tamsayı türüdür.Kural olarak, bayt değişkenleri bir program -128 ila 127 aralığında çok fazla değer kullandığında veya ikili verilerle çalışırken kullanılır. İnt ve uzun değişmez değerlerin aksine, bayt değişmez değerler eksik. Bununla birlikte, bayt aralığını geçersiz kıldığı için herhangi bir int değişmezine bir bayt değişkeni atayabilirsiniz.
Değişkenin değeri aralık dışındaysa, Java bir derleyici hatası atar.
Buna ek olarak, yalnızca int değişmezini atayabilirsiniz, ancak int değişkeninde saklanan değeri atayamazsınız, çünkü bu hassasiyet kaybına neden olabilir. Bu, açık bir tür döküm gerektirir.
16 bit işaretli tam sayı ilkel veri türünü temsil eder. Aralığı -32768 ila 32767'dir (veya -215 2 'ye kadar15 - 1).
Genellikle kısa değişkenlere duyulan ihtiyaçprogram, belirtilen aralığı aşmayan çok sayıda değer kullandığında oluşur. Kısa bir literal yoktur, ancak kısa menzil içinde herhangi bir interal bilginin atanması mümkündür. Bayt değişkeninin değeri her zaman atanabilir. Bir int veya uzun kısa değişken atama kurallarının geri kalanı bayt ile aynıdır.
Char 16 bit imzasızUnicode karakteri temsil eden ilkel bir veri türü. Bir işaretin olmaması, değişkenin negatif bir değere sahip olamayacağı anlamına gelir. Aralık, Unicode karakter kümesi kodlamasıyla aynı olan 0 ile 65535 arasındadır. Değişmez değer bir karakter değerini temsil eder ve aşağıdaki şekillerde ifade edilebilir:
Bir sembol, içine alınarak ifade edilebilirtek tırnak: char C1 = "A". Çift tırnak işaretleri, dize yalnızca bir karakter içermesine rağmen bir char değişkenine atanamayan bir dize değişmezini gösterir. İlkel bir değişkene bir referans atanmadığından buna izin verilmez. Tüm dize değişmezleri String sınıfının nesneleridir ve bu nedenle başvurulardır, karakter değişmezleri ise ilkel türdendir.
Kaçış dizisi tarafından ifade edilen değişmez değer, tek tırnak içinde karakterle ters eğik çizgi olarak yazılır. Bunlardan 8 tane var: ‘n’, ‘r’, ‘f’, ‘b’, ‘t’, ‘\’, ‘” ’,‘ ’’.
Unicode kontrol dizisi şu forma sahiptir"uxxxx", burada u (ters eğik çizgi ve ardından u küçük harf) başlangıcını gösterir ve xxxxx, Unicode sistemindeki karakter kodunun tam dört onaltılık basamağını temsil eder. Örneğin, “A” ondalık olarak 65 ve onaltılı olarak 41 değerine sahiptir. Böylece, bu sembol "u0041" olarak temsil edilebilir.
Sekizli kaçış dizisi "nnn" olarak yazılır, burada n sekizli basamaktır (0-7). Değerlerin aralığı "00" ile "377" arasındadır, burada 3778 255'e karşılık gelir10. Bu nedenle temsil etmek için kullanılırDiğer programlama dilleriyle uyumluluk için gerekli olan 0 ile 255 arasında bir kod içeren karakterler. Dört onaltılık basamağın tamamının gerekli olduğu Unicode dizisinin aksine, burada 1, 2 veya 3 sekizli kullanabilirsiniz: "n", "nn" veya "nnn".
Boolean yalnızca iki geçerli değere sahiptir:doğru (doğru) ve yanlış (yanlış). Bunlara Boole değişmezleri denir. Mantıksal bir değişken başka bir türe dönüştürülemez veya tersi de geçerlidir. Java, boolean boyutunu belirlemez - Java sanal makinesinin özel uygulamasına bağlıdır.
Bellekteki kesirli kısmı içeren sayıBilgisayar, bir noktadan önce ve sonra veya konumunu gösteren sabit sayıda basamaklı bir görünümde saklanabilir. Basamak sayısı değişebileceğinden, noktanın "yüzdüğünü" söylüyorlar.
Java'da kayan nokta veri türleri 32 bit kullanır. IEEE 754 standardına göre, bu, örneğin 1.4 x 10 sayılarını temsil etmeyi sağlayan tek bir hassasiyete karşılık gelir.-45 ve 3,4 x 1038hem olumlu hem de olumsuz.
F veya F ile biten tüm gerçek sayılara float değişmezi denir. Ondalık biçimde ve bilimsel gösterim olarak sunulabilirler. Örneğin:
Tür iki sıfır tanımlar: + 0.0F (veya 0.0F) ve -0.0F.Ancak, karşılaştırma amacıyla her iki sıfır da eşit kabul edilir. Ayrıca, iki tür sonsuzluk tanımladı: pozitif ve negatif. Bazı işlemlerin sonuçları (örneğin, 0.0F'nin 0.0F'ye bölünmesi) tanımlanmamıştır ve özel NaN değeri ile temsil edilir.
Çift kayan nokta sayılarını saklamak için 64 bit kullanır. Çift kesinlikli bir sayı, 4,9 x 10'luk pozitif ve negatif değerleri temsil edebilir-324 ve 1,7 x 10308.
Tüm gerçek sayılar varsayılan olarakçift değişmez. İsteğe bağlı olarak, d veya D son ekiyle, örneğin 19.27d ile açıkça belirtilebilirler. Bir çift hazır bilgi ondalık formda ve bilimsel gösterimde ifade edilebilir.