Java'da değişkenler nasıl bildirilir? Java'da değişken türleri. Değişken bildirimi. x karakter değişkeni "x" değerini alır

  • 16.05.2019

Değişken nedir?

Değişken, bir Java programının ömrü boyunca sizin için değeri olan bir kapsayıcı olarak düşünülebilir. Her değişkene bir veri tipi bu, tutabileceği değerin türünü ve miktarını belirtir.

Bir programda değişken kullanmak için 2 adımı gerçekleştirmeniz gerekir.

  1. Değişken Bildirimi
  2. Değişken başlatma

Bu eğitimde, öğreneceksiniz-

Değişken Bildirimi:

Bir değişkeni bildirmek için veri türünü belirtmeli ve değişkene benzersiz bir ad vermelisiniz.

Diğer Geçerli Beyanname örnekleri şunlardır:

Int a,b,c; floatpi; çift ​​d; karakter bir;

Değişken başlatma:

Bir değişkeni başlatmak için ona geçerli bir değer atamanız gerekir.

Diğer Geçerli Başlatma örnekleri şunlardır:

Pi=3.14f; do=20.22d; a='v';

Değişken bildirimini ve başlatmayı birleştirebilirsiniz.

int a=2,b=4,c=6; kayan nokta pi=3.14f; çift ​​do=20.22d; karakter a='v';

Değişken türleri

Java'da üç tür değişken vardır:

  1. Yerel Değişkenler
  2. Örnek değişkenler
  3. Statik Değişkenler

1) Yerel Değişkenler

Yerel Değişkenler, bir yöntemin gövdesi içinde bildirilen bir değişkendir.

2) Örnek Değişkenleri

Örnek değişkenleri STATIC anahtar sözcüğü olmadan tanımlanır. Nesneye özgüdürler ve örnek değişkenler olarak bilinirler.

3) Statik Değişkenler

Statik değişkenler, program yürütmesinin başlangıcında yalnızca bir kez başlatılır. Bu değişkenler, herhangi bir örnek değişkeninin başlatılmasından önce ilk olarak başlatılmalıdır.

Örnek: Java'daki Değişken Türleri

sınıf Guru99 ( int veri = 99; //örnek değişkeni statik int a = 1; //statik değişken geçersiz yöntem() ( int b = 90; //yerel değişken) )

Java'daki Veri Türleri

Veri türleri, değişkende saklanacak farklı değerleri sınıflandırır. Java'da iki tür veri türü vardır:

  1. İlkel Veri Türleri
  2. İlkel Olmayan Veri Türleri

İlkel Veri Türleri

İlkel Veri Türleri önceden tanımlanmıştır ve Java dilinde mevcuttur. İlkel değerler, durumu diğer ilkel değerlerle paylaşmaz.

8 ilkel tür vardır: byte, short, int, long, char, float, double ve boolean Tamsayı veri türleri

Bayt (1 bayt) kısa (2 bayt) int (4 bayt) uzun (8 bayt)

Kayan Veri Türü

Float (4 bayt) çift (8 bayt)

Metin Veri Türü

Karakter (2 bayt)

Boole (1 bayt) (doğru/yanlış)

veri tipi varsayılan değer varsayılan boyut
bayt 0 1 bayt
kısa 0 2 bayt
int 0 4 bayt
uzun 0L 8 bayt
batmadan yüzmek 0.0f 4 bayt
çift 0,0 gün 8 bayt
boole YANLIŞ 1 bit
karakter "\u0000" 2 bayt

Hatırlanacak noktalar:

  • Tüm sayısal veri türleri işaretlidir (+/-).
  • Veri türlerinin boyutu tüm platformlarda aynı kalır (standartlaştırılmış)
  • Java'daki char veri türü, kullandığı için 2 bayttır UNICODE karakter seti. Bu sayede Java uluslararasılaşmayı destekler. UNICODE, dünyadaki bilinen tüm komut dosyalarını ve dili kapsayan bir karakter kümesidir.

Java Değişken Tip Dönüşümü ve Tip Döküm

Bir türdeki değişken, başka bir türün değerini alabilir. burada 2 durum var

Dava 1) Daha küçük kapasiteli değişken, daha büyük kapasiteli başka bir değişkene atanır.

Bu süreç Otomatiktir ve açık olmayan süreç olarak bilinir. dönüştürmek

Durum 2) Daha büyük kapasiteli değişken, daha küçük kapasiteli başka bir değişkene atanacak

Bu gibi durumlarda, açıkça belirtmeniz gerekir. tip döküm operatörü. Bu süreç olarak bilinir Tip döküm.

Bir tür atama operatörü belirtmemeniz durumunda; derleyici hata veriyor. Bu kural derleyici tarafından zorunlu tutulduğu için programcıyı yapacağı dönüşümün veri kaybına neden olabileceği konusunda bilinçlendirir ve bunu engeller. tesadüfi kayıplar.

Örnek: Tip Dökümünü Anlayın

Aşama 1) Aşağıdaki kodu bir düzenleyiciye kopyalayın.

Sınıf Demosu ( public static void main(String args) ( byte x; int a = 270; double b = 128.128; System.out.println("int, bayta dönüştürülmüş"); x = (bayt) a; System.out. println("a ve x " + a + " " + x); System.out.println("int'e çift dönüştürülür"); a = (int) b; System.out.println("b ve a" + b + " " + a); System.out.println("\ndçift bayta dönüştürülür"); x = (bayt)b; System.out.println("b ve x " + b + " " + x); ) )

Adım 2) Kodu kaydedin, derleyin ve çalıştırın.

Int, bayt a'ya dönüştürülür ve x 270 çift, int b'ye dönüştürülür ve a 128.128 128 double, bayt b'ye dönüştürülür ve x 128.128 -128

Veri türü üç bileşenle tanımlanır:

  • bir dizi değer veya nesne;
  • kümedeki tüm değerlere uygulanabilen bir dizi işlem;
  • depolamasını belirleyen verilerin temsili.

Java'daki veri türleri nelerdir?

Programlama dili, önceden tanımlanmış bazı yerleşik türleri içerir ve programcıların kendi özel türlerini tanımlamalarına olanak tanır.

Java'da veri türleri ilkel ve başvuru türleri olarak ikiye ayrılır.

"İlkel", daha fazla bölünmesinin imkansız olduğu anlamına gelir. Programlama dili, programlama dilini genişletmenize veya değiştirmenize izin vermez. Böyle bir veri türü, ilkel ve diğer kullanıcı tanımlı türlerle tanımlanır.

İlkel türden bir değişken bir değer içerirken, bir başvuru değişkeni bellekteki bir nesnenin adresini içerir.

Java dili. saat ve tarih

Bileşik veriler sınıflara, arayüzlere ve dizilere bölünür. Bir arabirim türünün üyeleri soyut yöntemler ve sabitlerdir. İÇİNDE Java dili tarih ve saat veri türleri Date() yapıcısı tarafından belirtilir:

  • d = yeni Tarih().

Java dili. Veri türleri: Dize

Dize, içinde tanımlanan bir sınıftır ve metinle (bir karakter dizisi) çalışmak için kullanılabilir.

Bir başvuru String değişkeninin bildirimi aşağıdaki gibidir: String str.

  • str = yeni Dize ("Merhaba").

Bu kod yürütüldüğünde ne olur? İlk olarak, bellek tahsis edilir ve str adı bu bellek konumuyla ilişkilendirilir. Bu, ilkel bir değişken bildirmekten farklı değildir. İkinci kod parçası, bellekte "Merhaba" metniyle bir String nesnesi oluşturur ve buna bir başvuruyu (veya bir bellek adresini) str'de saklar.

Java referans veri türleri, bir değişkende saklanan bir nesne referansını diğerine atamanıza da izin verir. Her ikisi de bellekteki aynı nesneye atıfta bulunur. Bu başarılabilir Aşağıdaki şekilde:

  • stringstr1;
  • stringstr2;
  • str1 = new String("Merhaba");
  • str2 = str1;

new operatörü 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, new operatörü yerine dize değişmezlerini kullanabilirsiniz:

  • String str1 = "Merhaba".

Java'nın ilkel veri türleri byte, short, int, long, char, float, double ve boolean'dır. İki kategoriye ayrılırlar: mantıksal ve sayısal. İkincisi, tam sayılara ve kayan nokta sayılarına bölünebilir.

Java tamsayı veri türleri sayısal türler, değerleri tamsayı olan. Beş tanesi vardır: byte, short, int, long ve char.

int

Int, 32 bit işaretli bir ilkel veri türüdür. Değişken 32 bit bellek kaplar. Geçerli aralık -2147483648 ila 2147483647 (-231 ila 231 - 1)'dir. Bu aralıktaki tüm tamsayılar, tamsayı değişmezleri veya sabitleridir. Örneğin, 10, -200, 0, 30, 19 int değişmez değerlerdir. Bir int değişkenine atanabilirler:

  • int sayı1 = 21;

Tamsayı değişmezleri ikili, sekizlik, ondalık ve onaltılık sayılar olarak ifade edilebilir.

Bir hazır bilgi sıfırdan başlıyorsa ve en az iki basamaklıysa sekizli biçimde yazıldığı kabul edilir. 0 ve 00 temsil eder aynı değer- sıfır.

Onaltılık biçimdeki tüm int değişmezleri 0x veya 0x ile başlar ve en az bir onaltılık basamak içermelidir:

  • int num1 = 0x123.

Biçimdeki int değişmezleri 0b veya 0B ile başlar:

  • int num1 = 0b10101.

Uzun

64 bit imzalı ilkel bir türdür. Bir hesaplamanın sonucu bir int aralığını aştığında kullanılır. long aralığı -2 63 ile 2 63 - 1 arasındadır. Bu aralıktaki tüm tamsayılar uzun tip değişmez değerlerdir.

Java dilinde türleri ayırt etmek için int veri ve uzun, ikinci türden bir hazır bilgi her zaman L veya l ile biter.

Uzun tip tamsayı değişmezleri sekizli, onaltılı ve ikili biçimlerde de ifade edilebilir.

Uzun bir değişkene uzun bir değişmez değer atandığında, Java derleyicisi atanan değeri kontrol eder ve kabul edilebilir bir aralıkta olduğundan emin olur; aksi takdirde derleme hatası oluşacaktır.

Bir int'nin aralığı bir long'dan daha küçük olduğu için, bir int değişkeninin değeri her zaman long türündeki bir değişkene atanabilir. Ancak bir int aralığında bile ters atama mümkün değildir. Bu açıkça yapılır:

  • sayı1 = (int) sayı2;

bayt

Bayt, 8 bitlik bir tamsayı ilkel türüdür. Menzili -128 ila 127'dir (-27 ila 27 - 1). bu en küçüğü tamsayı türü, Java'da mevcuttur. Kural olarak, programda -128 ile 127 aralığında birçok değer yer aldığında veya ikili verilerle çalışırken bayt değişkenleri kullanılır. int ve long değişmezlerinden farklı olarak, bayt değişmezleri yoktur. Ancak, bir bayt aralığını kapsadığı için herhangi bir int değişmezini bayt değişkenine atayabilirsiniz.

Bir değişkenin değeri aralık dışındaysa, Java bir derleyici hatası verir.

Ayrıca, bir int değişkeninde saklanan değeri değil, yalnızca bir int değişmezi atayabilirsiniz, çünkü bu, hassasiyet kaybına neden olabilir. Bu, açık bir typecast gerektirir.

  • b1 = (bayt)sayı1.

kısa

16 bitlik işaretli bir tamsayı temel veri türünü temsil eder. Menzili -32768 ila 32767 (veya -2 15 ila 2 15 - 1)'dir.

Tipik olarak, bir program kullandığında kısa değişkenlere duyulan ihtiyaç ortaya çıkar. çok sayıda Belirtilen aralığı aşmayan değerler. Kısa literal yoktur, ancak short aralığındaki herhangi bir int literal atanabilir. Bir bayt değişkeninin değeri her zaman atanabilir. Kısa bir değişkene int veya long atama kurallarının geri kalanı, byte ile aynıdır.

karakter

Char, bir Unicode karakterini temsil eden 16 bitlik işaretsiz bir ilkel veri türüdür. İşaretin olmaması, değişkenin negatif bir değere sahip olamayacağı anlamına gelir. Aralık, Unicode karakter kümesiyle aynı kodlama olan 0 ila 65535'tir. Bir hazır bilgi, bir char değerini temsil eder ve aşağıdaki biçimlerde ifade edilebilir:

  • içine alınmış sembol tek tırnak;
  • kontrol karakterlerinin sırası;
  • bir dizi unicode kontrol karakteri;
  • sekizli kontrol karakterleri dizisi.

Bir karakter, tek tırnak içine alınarak ifade edilebilir: char C1 = "A". dize yalnızca bir karakterden oluşsa bile, bir char değişkenine atanamayan bir dize değişmezini belirtir. İlkel bir değişkene başvuru atanmadığından buna izin verilmez. Tüm dize değişmezleri, String sınıfının nesneleridir ve bu nedenle referanslardır, karakter değişmezleri ise ilkel türdedir.

Bir kaçış dizisinde ifade edilen bir hazır bilgi, ters eğik çizgi ve ardından tek tırnak içinde bir karakter olarak yazılır. Toplamda 8 tane vardır: '\n', '\r', '\f', '\b', '\t', '\\', '\"', '\''.

Unicode kaçış dizisi "\uxxxx" biçimindedir; burada \u (bir ters eğik çizgi ve ardından küçük bir u harfi) onun başlangıcını belirtir ve xxxx tam olarak dördü temsil eder. onaltılık rakamlar Unicode sistemindeki karakter kodu. Örneğin, "A" 65 değerine sahiptir. ondalık sistem ve 41 onaltılık. Böylece, bu karakter "\u0041" olarak gösterilebilir.

Sekizlik bir kaçış dizisi "\nnn" olarak yazılır, burada n sekizlik bir basamaktır (0-7). Değer aralığı "\000" ile "\377" arasındadır, burada 377 8 255 10'a karşılık gelir. Bu nedenle, diğer programlama dilleriyle uyumluluk için gerekli olan 0'dan 255'e kadar olan karakterleri temsil etmek için kullanılır. Dört onaltılık basamağın tamamının gerekli olduğu Unicode dizisinden farklı olarak, burada 1, 2 veya 3 sekizlik basamak kullanılabilir: "\n", "\nn" veya "\nnn".

boole türü

Boolean sadece iki tane var gerçek değerler: doğru (doğru) ve yanlış (yanlış). Bunlara boole değişmezleri denir. Bir boole değişkeni başka bir türe dönüştürülemez ve bunun tersi de geçerlidir. Java, bir boole boyutunu tanımlamaz - bu, JVM'nin özel uygulamasına bağlıdır.

Java Kayan Nokta Veri Türleri

içeren sayı kesirli kısım, bilgisayar belleğinde, noktadan önce ve sonra sabit sayıda basamak veya konumunun bir göstergesi ile bir temsilde saklanabilir. Basamak sayısı değişebileceğinden, noktanın "kayan" olduğu söylenir.

Java dilinde kayan nokta veri türleri 32 bit kullanır. IEEE 754 standardına göre bu, 1,4 x 10 -45 ve 3,4 x 10 38 sayılarının örneğin hem pozitif hem de negatif olarak temsil edilmesine izin veren tek duyarlılığa karşılık gelir.

f veya F ile biten her şeye kayan değişkenler denir. Formatta sunulabilirler. ondalık sayı ve bilimsel gösterim. Örneğin:

  • kayan nokta f1 = 3.25F;
  • kayan nokta f2 = 32.5E-1F;
  • kayan nokta f3= 0.325E + 1F.

Tip 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ımlamıştır: pozitif ve negatif. Bazı işlemlerin sonuçları (örneğin tanımsızdır ve NaN özel değeriyle temsil edilir.

çift ​​hassasiyet

Double, kayan nokta sayılarını depolamak için 64 bit kullanır. Çift duyarlıklı bir sayı, 4,9 x 10 -324 ve 1,7 x 10308 pozitif ve negatif değerlerini temsil edebilir.

Tüm gerçek sayılar varsayılan olarak çift değişmezdir. İsteğe bağlı olarak, d veya D son eki ile açıkça belirtilebilirler, örneğin 19.27d. Bir çift değişmez, hem ondalık hem de bilimsel gösterimde ifade edilebilir.

Java, kesinlikle yazılan bir dildir. Bu, her değişkenin ve her Java ifadesinin sahip olması gerektiği anlamına gelir. tip, derleme zamanında zaten tanımlanmış. Her türün belirli bir değer aralığı vardır ve kendisine uygulanabilir bir dizi işlemi ve anlamını tanımlar. Güçlü yazma, bir programdaki hataları derleme zamanında algılamaya yardımcı olur.

Java'daki tüm türler alt bölümlere ayrılır ilkel Ve referans. Boole türü ilkeldir boole, tamsayı sayısal türleri bayt, kısa, int, uzun, karakter ve kayan sayısal türler batmadan yüzmek Ve çift. Referans türleri sınıflar, arayüzler Ve diziler. özel bir de var boş tip.

Bir obje Java'da dinamik olarak oluşturulmuş bir sınıf örneği veya dinamik olarak oluşturulmuş bir dizidir. Referans tipi değerleri nesne referanslarıdır. Diziler dahil tüm nesneler, yöntemleri Object sınıfından devralır. Dizeler, String sınıfının nesneleri tarafından temsil edilir.

Değişken belirli bir türdeki adlandırılmış bir veri deposudur. Tam olarak konuşmak gerekirse:

  • İlkel türden bir değişken her zaman o belirli türden bir değer içerir.
  • Bir tür sınıfı değişkeni bir değer içerebilir boş(boş referans) veya bu sınıfın bir nesnesine veya onun halefine bir referans.
  • Arabirim türündeki bir değişken, verilen arabirimi uygulayan herhangi bir sınıfın nesnesine bir boş başvuru veya başvuru içerebilir.
  • T'nin ilkel bir tür olduğu " T dizisi " türündeki bir değişken, ya boş bir başvuru ya da " T dizisi " türünde bir nesneye başvuru içerebilir.
  • T'nin bir başvuru türü olduğu " T dizisi " türündeki bir değişken, ya boş bir başvuru ya da T ile atama uyumlu verilerden oluşan bir diziye başvuru içerebilir.
  • Object türündeki bir değişken, boş bir başvuru veya herhangi bir nesneye başvuru içerebilir.

5.3.2. ilkel türler

5.3.2.1. boole türü

Tip boole iki mantıksal sabitten oluşur: doğru(doğru) ve YANLIŞ(YANLIŞ). Boole değeri türe dönüştürülebilir boole, Java'da bu tür için başka örtülü yayın yoktur. Bir boole değeri, örtük dize dönüştürme kuralı kullanılarak bir dizeye dönüştürülebilir.

Boole değişkeni bildirimi örneği:

Herhangi bir sayıda referansın bir nesneye işaret edebileceğini unutmayın. İki değişken aynı nesneye işaret ediyorsa, nesnenin durumu ilk referans aracılığıyla değiştirilebilir ve ardından ikinci referans üzerinden okunabilir.

5.3.3.2. nesne sınıfı

Standart Object sınıfı, yöntemlerini miras alan diğer tüm Java sınıflarının atasıdır. Bu yöntemler Böl. 5.14.

5.3.3.3. dize sınıfı

String sınıfının örnekleri metin dizeleridir, yani Unicode karakterlerinden oluşan dizelerdir. String sınıfının bir nesnesinin sabit (değişmez) bir değeri vardır. String sabitleri, String sınıfının örneklerine referanslardır.

Dize birleştirme operatörü, örtük olarak String sınıfının yeni bir nesnesini oluşturur.

5.3.4. Değişkenler

Değişken, genellikle benzersiz bir ada sahip belirli bir türdeki bir veri deposudur. Bir değişken her zaman türüyle uyumlu bir atama değeri içerir. Bir değişkenin değeri, bir atama işlemi veya önek/sonek artırma/azaltma işlemleri ile değiştirilir.

5.3.4.1. Değişken türleri

Java'da yedi tür değişken vardır:

  1. sınıf değişkeni bir sınıf bildirimindeki statik bir veri alanı veya bir arabirim bildirimindeki herhangi bir veri alanıdır. Bir sınıf değişkeni, sınıfı veya arabirimi yüklendiğinde oluşturulur; oluşturulduktan hemen sonra, varsayılan bir değer atanır. Bir sınıf değişkeni, sınıfı veya arabirimi kaldırıldığında (sonlandırılması tamamlandıktan sonra) yok edilir.
  2. uygulama değişkeni statik olmayan bir sınıf bildirimindeki bir veri alanıdır. Böyle bir değişken oluşturulur ve bu sınıfın bir örneği veya onun soyundan gelen bir sınıf oluşturulduğunda varsayılan bir değer verilir. Bir uygulama değişkeni, sınıfın karşılık gelen örneği çöp toplama tarafından atıldığında (sonlandırma tamamlandıktan sonra) yok edilir.
  3. dizi öğeleri oluşturulan ve bir dizi oluşturulduğunda varsayılan bir değer verilen adsız değişkenlerdir. Dizi çöp toplama tarafından kaldırıldığında bu değişkenler yok edilir.
  4. Yapıcı parametreleri yapıcıya iletilen bağımsız değişken değerlerinin adlarıdır. Yapıcı bildirimindeki her parametre için, her çağrıldığında yeni bir değişken oluşturulur. verilen kurucu(açıkça veya dolaylı olarak). Bu değişken, çağrıldığında yapıcıya iletilen argümanın gerçek değerine ayarlanır. Yapıcının gövdesi yürütmeyi bitirdikten sonra değişken yok edilir.
  5. Yöntem parametreleri metoda geçirilen argüman değerlerinin isimleridir. Bir yöntem bildirimindeki her parametre için, bu yöntem her çağrıldığında yeni bir değişken oluşturulur. Bu değişken, çağrıldığında yönteme iletilen argümanın gerçek değerine ayarlanır. Yöntem gövdesinin yürütülmesi tamamlandıktan sonra değişken yok edilir.
  6. İstisna işleyici parametresi bir parça yürütüldüğünde oluşturulur yakalamakŞebeke denemek. Değeri, yükseltilmiş istisna ile ilişkili nesne haline gelir. Blok yürütmeyi tamamladığında değişken yok edilir. yakalamak.
  7. yerel değişkenler. Program yürütme sırasında her zaman kontrolü yeni bir bloğa veya ifadeye aktarılır için, o blok veya deyim içindeki her değişken bildirimi için karşılık gelen bir yerel değişken oluşturulur. Bildirim bir değişkenin ilk değerini içeriyorsa, o değer ona atanır. Yerel bir değişken, bildirildiği blok veya ifade tamamlandığında yok edilir.

Aşağıdaki örnek, listelenen çeşitlerin çeşitli değişkenleri için bildirimler içerir:

Sınıf Noktası ( statik int numPoints; // numPoints - sınıf değişkeni int x, y; // x ve y - uygulama değişkenleri int w = yeni int; // w - tamsayı dizisi, w - dizi öğesi int setX(int x) ( // x - yöntem parametresi int eskix = this.x; // eskix - yerel değişken this.x = x; eskix döndür; ) )

5.3.4.2. Değişkenlerin başlangıç ​​değerleri

Bir değişkene erişilebilmesi için önce ona bir değer atanması gerekir. nerede

  • Her sınıf değişkeni, uygulama değişkeni ve her dizi öğesine, oluşturulduğunda aşağıdaki gibi bir varsayılan değer atanır:
    • tür değişkenleri bayt, kısa, int, uzun karşılık gelen türün 0 değerini alın;
    • tür değişkenleri batmadan yüzmek Ve çift karşılık gelen türün +0 değerini alın;
    • tür değişkenleri karakter"\u0000" değerini alın;
    • tür değişkenleri boole Değer elde etmek YANLIŞ;
    • referans tipi değişkenler değer alır boş;
  • Her yönteme ve yapıcı parametresine, yöntem veya yapıcı çağrıldığında belirlendiği gibi, karşılık gelen bağımsız değişkenin gerçek değeri atanır.
  • İstisna işleyici parametresi, uygun nesne ile başlatılır.
  • Bir yerel değişkene, kullanılmadan önce, ya bildirimde başlatma yoluyla ya da bir atama deyimiyle bir değer atanmalıdır.

Örneklerimizde değişkenleri zaten kullandık, çünkü onlarsız Java'da ilkel veri türlerini açıklamak çok zor olurdu, ancak bu büyük ve karmaşık bir konu olmadığı için buna odaklanmadık. Henüz Java'daki sabitlerden bahsetmedik. Ve şimdi zamanı geldi! İyi hadi gidelim!

Değişken, bir Java programındaki ana veri depolama bileşenidir. Bir değişken, bir tanımlayıcı, bir tür ve isteğe bağlı bir başlangıç ​​değerinin birleşimiyle tanımlanır. Ayrıca, tüm değişkenlerin, diğer nesnelere görünürlüklerini ve yaşam sürelerini tanımlayan bir kapsamı vardır..

Java'da tüm değişkenler kullanılmadan önce bildirilmelidir. Programın herhangi bir yerinde bir değişken tanımlayabilirsiniz. Değişken bildiriminin temel biçimi şöyle görünür:

tip tanımlayıcı[=değer][, tanımlayıcı[=değer] ...] ;

  • tip ilkel Java türlerinden biridir veya bir sınıf veya arabirimin adıdır.
  • tanımlayıcı değişken adıdır

Bir değişkene, eşittir işareti ve bir değer belirtilerek bir başlangıç ​​değeri atanabilir (başlatılır). Başlatma ifadesinin, değişken için belirtilenle aynı (veya uyumlu) türde bir değer döndürmesi gerektiğini unutmayın. Birden fazla değişken bildirmek için belirtilen tip Virgülle ayrılmış bir liste kullanabilirsiniz.

Aşağıda çeşitli türlerdeki değişkenlerin bildirilmesine ilişkin birkaç örnek verilmiştir. Bazı bildirimlerin değişkenleri başlattığını unutmayın.

a , B , C ; // int tipinde üç değişkenin bildirimi: a, b ve c
int D = 3 , e , F = 5 ; // ile üç int değişkeni daha bildiriyord ve f'nin başlatılması
bayt z = 22 ; // z değişkeninin başlatılması
çift pi = 3.14159 ; // değişkenin yaklaşık değerinin beyanıpi
karakter x = "x"; // x değişkenine "x" değeri atama

İfadelerde başlatılmamış bir değişken kullanamazsınız, bu nedenle değişken bildirildiğinde veya herhangi bir ifadede kullanılmadan önce başlatılmalıdır. Örneğin, aşağıdaki kod parçası, derleme aşamasında zaten bir hata olarak algılanacaktır.

tatil günleri ;
sistem . dışarı . println( tatil günleri) ; // HATA! Değişken başlatılamadı

Değişkenleri nasıl düzgün bir şekilde adlandıracağımızı zaten tartıştık.

Değişkenlerin dinamik başlatılması

Java, değişkenlerin bildirildiği zamanda geçerli olan herhangi bir ifadeyle değişkenlerin dinamik olarak başlatılmasına izin verir. Örneğin:

a = 3.0 , B = 4.0 ;
// c değişkeninin dinamik başlatılması
çift C = Matematik . kare ( a * a + B * B) ;
sistem . dışarı . println( "Hipotenüs" + C) ;

Değişkenlerin kapsamı ve ömrü

Bu yeterli önemli soru ve daha ayrıntılı olarak ele alınması gerekir. Ve bunun için önce Java'da kod bloklarının kullanımını düşünmemiz gerekiyor.

Kod Bloklarını Kullanma

Java, bir veya daha fazla ifadenin kod blokları olarak da adlandırılan kod blokları halinde gruplandırılmasına izin verir. Bu, operatörleri kaşlı ayraçlar içine koyarak yapılır. Bir kod bloğu oluşturulduktan sonra, tek bir ifadeyle aynı yerlerde kullanılabilen mantıksal bir birim haline gelir. Örneğin, bir blok if ve for deyimleri için hedef işlevi görebilir. Aşağıdaki if ifadesini göz önünde bulundurun:

( x< y ) { // blok başlangıcı
x=y;
y= 0 ;
} // bloğun sonu

Bu örnekte, x, y'den küçükse, program her iki ifadeyi de blok içinde yürütecektir. Böylece, blok içindeki her iki ifade de mantıksal bir birim oluşturur ve bir ifadenin yürütülmesi, ikincisinin aynı anda yürütülmesi olmadan imkansızdır. Bu yaklaşımın arkasındaki temel fikir, iki veya daha fazla ifadenin mantıksal olarak bağlanması gerektiğinde, bunun bir blok oluşturarak yapılmasıdır.

Java, herhangi bir blok içinde değişken bildirimlere izin verir. Bir blok, açılan küme ayracı ile başlar ve kapanış küme ayracı ile biter. Blok kapsamı tanımlar. Böylece her yeni bloğun açılışında yeni bir blok oluşturuyoruz. kapsam. Kapsam hangi nesnelerin programın diğer bölümleri tarafından görülebileceğini belirtir. Ayrıca bu nesnelerin ömrünü de belirler.

Hatırlanması gereken ana kural, bir kapsam içinde bildirilen değişkenlerin, kapsam dışındaki koda görünür (yani erişilemez) olmamasıdır. Bu nedenle, bir kapsam içinde bir değişken bildirmek, yerelleştirilmesine ve yetkisiz erişime ve/veya değişikliklere karşı korunmasına yol açar.

Kapsamlar iç içe yerleştirilebilir. Örneğin, her kod bloğu oluşturduğumuzda, yeni, iç içe geçmiş bir kapsam oluştururuz. Bu durumlarda dış kapsam, iç kapsamı içerir. Bu demektir içinde bildirilen nesneler dış alan, iç kapsamda tanımlanan koda görünür olacak. Ancak bunun tersi doğru değildir. İç kapsamda bildirilen nesneler, bunun dışında görünmeyecektir.. Bu, aşağıdaki örnekle açıklanabilir:

Değişken y, sınırlı kapsamı içinde tanımlanmış kıvırcık parantezler, sadece içinde mevcuttur. Bunun dışında, y değişkeni artık mevcut değildir ve değişken x kullanılabilir ve değişken kapsamında y.

Hatırlanması gereken bir şey daha önemli nüans: Değişkenler kapsamlarına girerken oluşturulur ve kapsamlarından çıkarken yok edilirler.

Bu, değişkenin kapsam dışına çıktığı anda değerini kaybedeceği anlamına gelir.

Bloklar yuvalanabilse de, içinde iç ünite dış kapsamdakiyle aynı ada sahip değişkenleri bildiremezsiniz.

Soldaki örnekte gösterilen kod derleme hatası verecektir.

C ve C++'da mümkün olan bu tür hileler Java'da çalışmaz.

Java'daki Sabitler

Java'da sabitler anahtar kelime ile gösterilir. son. anahtar kelime son bu değişkene yalnızca bir kez değer atayabileceğiniz ve sonrasında değiştirilemeyeceği anlamına gelir. Sabitleri adlandırmak için önerilir büyük harfler, gerekli olmasa da bu stil kodun okunabilirliğine katkıda bulunur. Sabit bildirime bir örnek:

çift CM_PER_INCH = 2.54 ;

Bir sabit bildirildiğinde başlatılamayabilir, ancak herhangi bir ifadede kullanılmadan önce, tıpkı bir değişken gibi başlatılmalıdır, ancak bu yalnızca bir kez yapılabilir. Ayrıca bu, koşullu ifadelerde, yani herhangi bir koşula bağlı olarak bir sabitin değerini başlatmak için de yapılabilir. Derleyici her şeyi kontrol edecek olası seçenekler, ve sabitin başlatılamayabileceği en az bir tane varsa, o zaman bir hata verecektir.

İlkel değişken bildirim ifadesini, oluşturulan değişkene bir başlangıç ​​değeri atayan "=" başlatma ifadesi tarafından takip edilebilir.

1. Tamsayı değişken türleri

tüm türler kendilerine ayrılan bellek miktarına göre farklılık gösterir. Tamsayı türlerinin özellikleri Tablo'da verilmiştir. 1.1. Sekme. 1.1. Java Tamsayı Türlerinin Özellikleri
Yukarıdaki tablodan da görebileceğiniz gibi, char türü dışındaki tamsayı değişkenleri Java dilinde işaretli değişkenler olarak kabul edilir. Tamsayı sabitleri bir programda üç yoldan biriyle belirtilebilir: ondalık, onaltılık ve sekizlik değerler olarak. Varsayılan olarak, tüm sayılar şu şekilde yorumlanır: ondalık ve int türündedir. Sayının sonuna "l" harfini veya "L" harfini ekleyerek uzun olduğunu açıkça belirtebilirsiniz. onaltılık değer, "0x" veya "0X" karakterleri ve ardından sayı değeri (0-9 rakamları ve A-F veya a-f harfleri) kullanılarak belirtilir, örneğin: 0x7FFF . Sekizli gösterimdeki bir sayı, sıfırla başlamalı ve ardından 077777 gibi bir veya daha fazla sekizlik basamak gelmelidir. Sekizli ve onaltılı sayılar hem pozitif hem de negatif olabilir ve ondalık gösterimdeki sayılarla aynı aralıklarda değişebilir (örneğin, bayt onaltılık sayıların maksimum değeri 0x7F'dir ve en az değer- 0x80 ve sekizli - sırasıyla 177 ve - 200) Tamsayı değişkenlerini bildirme örnekleri: int x = 0 ; uzun i, j, k; bayt a1 = 0xF1, a2 = 0x07; kısa r1 = 017 ; semboller Java ile tanımlanır anahtar kelime char ve Unicode standardı kullanılarak uygulanır. Programda veya normal karakter olarak sabit bir karakter belirleyebilirsiniz. Bir karakter değeri bir çift tek kesme işareti içine alınmalıdır, örneğin: char symbol= "f" ; Karakter yazmanın başka bir yolu: Unicode'da karakter kodunu temsil eden bir çift "\u" karakteri ve ardından dört basamaklı onaltılık bir sayı (0000 - FFFF aralığında), örneğin: char symbol = "\u0042" ; Klavyede mevcut olmayan bazı karakterler, Tablo 1'de gösterildiği gibi, "\" karakterini ve ardından kaçış dizisini tanımlayan bir harf karakterini içeren kaçış dizileri kullanılarak belirtilebilir. 1.2. Sekme. 1.2. Java dilinde kullanılan kaçış dizileri
Okumak için başka ne var:

2. Gerçek değişken türleri

Java dili sayıları ve değişkenleri destekler. kayan nokta normal ve double bitler – float ve double türleri. Kayan nokta sayıları için, 4.6 veya 7.0 gibi bir nokta ile ayrılmış tamsayı ve kesirli kısımlar belirtmelisiniz. Büyük sayılar için üstel gösterimi kullanabilirsiniz (mantisi üsten ayırmak için "e" veya "E" sembolünü kullanın), örneğin -3.58 × 107 sayısı -3.58E7 olarak yazılır ve sayı 73.675 × 10-15 - 73.675e-15 olarak. Gerçek Java türlerinin özellikleri Tablo'da sunulmuştur. 2.1. Sekme. 2.1. Java gerçek türlerinin özellikleri
Kayan nokta değişkenleri yalnızca sayısal değerleri değil, aynı zamanda özel olarak tanımlanmış bayraklardan (durumlar) herhangi birini de saklayabilir: negatif sonsuz, negatif sıfır, pozitif sonsuz, pozitif sıfır ve sayı değil (NaN). Tüm kayan nokta sabitlerinin double türünde olduğu varsayılır. float türünde bir sayı belirtmek için sonuna "f" karakterini veya "F" karakterini eklemelisiniz. Kayan nokta değişkenlerini bildirme örnekleri: kayan nokta x1 = 3.5f , x2 = 3.7E6f , x3 = - 1.8E-7f ; çift ​​z = 1.0 ;

3. Boole tipi değişkenler

Boole tipi değişkenler (mantıksal değişkenler) iki değerden birini alabilir: "true" veya "false" ve programlama dillerinde ilişkisel (karşılaştırma) ve mantıksal işlemlerde kullanılır. Yani, 5 > 3 karşılaştırmasının sonucu "doğru" olacak ve 8 karşılaştırmasının sonucu< 1 будет «ложь». В отличие от C, где результату «ложь» сопоставлено целое значение типа int , равное 0, а результату «истина» – ненулевое значение типа int , и, соответственно, результатам сравнения присваивается целое значение (обычно 0 или 1), в Java для булевских переменных введен свой, ayrı tip veri. Değişkenler boole türü Java'da boolean anahtar sözcüğü kullanılarak ayarlanır ve yalnızca iki değerden birine sahip olabilir: doğru veya YANLIŞ, örneğin boole anahtarı = true ; İlk bağlantı