JavaRush /Java Blog /Random-TK /Java üýtgeýjiler we üýtgewsizler

Java üýtgeýjiler we üýtgewsizler

Toparda çap edildi
Java diline düşünmek üçin onuň sintaksisine düşünmek gaty möhümdir. Esasy, esasy gurluş bloklaryndan biri üýtgeýjilerdir.

Java-da üýtgeýän zat näme

Java-daky üýtgeýji , programmada soňraky ulanmak üçin käbir maglumat bahasyny saklap bilýän konteýnerdir. Aslynda üýtgeýji, Java programmasynyň iň kiçi bölünmeýän birligi. Java-da üýtgeýjiler iki görnüşde bolýar: kiçi maglumatlar (başlangyç üýtgeýjiler) we has çylşyrymly, agyrlar üçin (salgylanma üýtgeýjileri). Bu gün üýtgeýjiler maglumatlaryň bahasyny saklanda, ilkinji ýagdaýa serederis. Şeýle üýtgeýjilere başlangyç diýilýär. Java we üýtgewsiz üýtgeýjiler - 1

Java-da üýtgeýänleri yglan etmek

Geliň, bu mysala seredeliň:
int x = 9;
Görýän zatlarymyza seredeliň: int- -2147483648-den 2147483647 aralygynda ýerleşýän bitewi sanlary görkezýän üýtgeýjiniň görnüşi x- üýtgeýjiniň ady (olary biri-birinden tapawutlandyrmalydyrys, şeýlemi?) = Belleme belgisi käbir üýtgeýjä, käbirine baha 9- onuň derrew gymmaty ;bu buýrugyň soňy. Indi hemme zady bir ýere jemläliň: intady bolan görnüş üýtgeýjisiniň xgymmaty bar 9. Bu mysalyň gysgaldylan görnüşi bar, doly görnüşi şeýle:
int x;
x = 9;
Birinji setirde üýtgeýjiniň deklarasiýasyny görýäris we oňa at dakýarys, ýagny munuň bilen JVM üýtgeýjä int(4 baýt) ýer bölüp, oňa at bermegi aýdýarys x. Ikinjisinde bolsa baha berýäris 9. Ondan öň onuň başlangyç bahasy bardy 0. Üýtgeýjilere at bermek barada birnäçe söz aýtmalydyrys. Düzgün bolşy ýaly, düýe aşaky stilinde ýazylýar. Peopleagny, mysal üçin, adam sanyny (adamlaryň sanyny) suratlandyrýan üýtgeýjimiz bar bolsa, oňa laýyk at:
int countOfPeople;
Bu at bilen birinji söz kiçi (kiçi) harp bilen başlaýar we soňraky her bir söz baş harp bilen başlanýar. Bu atlary okamagy aňsatlaşdyrmak üçin edilýär, sebäbi üýtgeýän atlar adatça birden köp sözden durýar.

Üýtgeýjileri kesgitlemek

Üýtgeýän beýannama mysalymyza gaýdyp geleliň:
int x = 9;
xBir gezek üýtgeýjä bir baha goýsak, bu programma ýerine ýetirilende üýtgeýjiniň hemişe bahasy boljakdygyny aňlatmaýar 9. Ony täzeden ýazyp bileris:
x = 4;
Hemme zat diýen ýaly birmeňzeş, ýöne indi () görnüşini goşmaýarys int, sebäbi üýtgeýji yglan edilende hasaba alynýar (barlygyny yglan edýär). Ondan soň diňe ulanarys, mysal üçin bu ýerde onuň gaýtadan ýazylýandygyny görýäris (üýtgeýjimizi täze bahasyna goýýarys, köne bahasynyň üstünden ýazýarys). Üýtgeýjimiziň hem bardygyny kabul edeliň:
int y = 7;
We sazlamak bilen: x = y; Üýtgeýjiniň köne bahasy xýok ediler, bahanyň göçürmesi bilen ýazylar y, ýagny - 7. Mundan başga-da, zerur san bilen köpelip, başga bir üýtgeýjiniň bahasyny belläp bilersiňiz:
x = y + 5;
Üýtgeýjimiz y7-e deň bolansoň, netije x12-e deň bolar. Has gyzyklysy, bu hereketleri ýerine ýetirmek ukyby:
x = x + 6;
Bu ýerde näme görýäris? Üýtgeýjä xgeçmişe deň baha berilýär, 6 ýokarlandy, ýagny şeýle bolar: 12 + 6 = 18. Şol bir ýazgyny goýup gysgaldyp bolar x:
x =+ 6;

Üýtgeýjileriň görnüşleri

Java-daky programma synplardan we obýektlerden durýar. Java üýtgeýänleriň nämedigine seredeliň:
  • obýekt üýtgeýjileri;
  • ýerli üýtgeýjiler;
  • synp üýtgeýjileri.
Java we üýtgewsiz üýtgeýjiler - 2Mysal synpy hökmünde it synpyny “gabyk” usuly bilen alarys:
public class Dog {
   public void bark() {
   }
}

Obýekt üýtgeýjileri

Üýtgeýjiler synpda yglan edilýär, ýöne usulda, konstruktorda ýa-da blokda däl.
public class Dog {
public  int value = 9;
   public void bark() {
   }
}
Bu üýtgeýjini çagyrmak üçin ilki bilen bir obýekt döretmeli:
Dog dog = new Dog();
dog.value;
Üýtgeýjiler diňe obýekt döredilenden soň döredilýär (ýagny obýekt ulanylyp döredilenden soň new). Bir obýektde içerki üýtgeýjiler elmydama ähli usullara, konstruktorlara ýa-da şol bir obýektiň içindäki zatlara görünýär. Aboveokarda belläp geçişimiz ýaly, obýekt üýtgeýjileriniň başlangyç bahalary bar. San üçin deslapky baha 0, logiki (boolean) - ýalan, bir obýekte salgylanma üçin - null.

Localerli üýtgeýjiler

Bu üýtgeýjiler usullarda, konstruktorlarda ýa-da bloklarda yglan edilýär.
public class Dog {
   public void bark() {
   int value = 9;
   }
}
Varierli üýtgeýjiler diňe kod diýilýän blokda bar, soňunda ýatdan çykarylýar. Olar diňe yglan edilen usulyň, konstruktoryň ýa-da blokyň içinde görünýär . .Agny, üýtgeýjini, mysal üçin başga bir usulda ulanyp bilmersiňiz. Giriş üýtgedijileri ýerli üýtgeýänler üçin ulanylyp bilinmez. Üýtgeýjiniň usulyň çäginden daşarda görünmeýän bolsa, olaryň näme manysy bar? Üýtgeýjiniň bu görnüşi, bir usul (ýa-da konstruktor ýa-da blok) çagyrylanda we tamamlananda ýok edilende döredilýär.

Synp üýtgeýjileri

Üýtgeýjiniň bu görnüşine statik hem diýilýär . Üýtgediji söz bilen yglan edilýär static, ýöne usulyň, konstruktoryň ýa-da blokyň çäginden daşda.
public class Dog {
public static  int value = 9;
   public void bark() {
   }
}
Üýtgeýjimize jaň ediň:
Dog.value
DogÜýtgeýjiniň goşulan synpynyň ady nirede . Bellenen baha obýekt üýtgeýjileri bilen deňdir. Sanlar üçin deslapky 0, boolean üçin ýalan; obýekt salgylanmalary üçin - null. Elmydama bir statiki üýtgeýji bar, synpdan näçe obýekt döredilse-de, sebäbi ol diňe klasa birikdirilýär. Klass üýtgeýjiler bir programma başlanda döredilýär we programma ýerine ýetirilenden soň ýok edilýär. Java-da statik üýtgeýjiler yzygiderli yglan edilende ulanylýar. Geliň, olar hakda has jikme-jik gürleşeliň.

Java-da yzygiderlilikler näme

Hemişelik, üýtgemeli däl, berlen, kesgitlenen bahadyr. Programmirlemegiň yzygiderliligi näme? Bu, programma işe başlamazdan ozal bilinýän we bir gezek kodda goýlan belli bir hemişelik baha. Java-da üýtgewsizler ýörite söz bilen kesgitlenýän üýtgeýjilerdir final:
final int VALUE = 54;
Bu ýerde islendik bahany kesgitlänimizden soň üýtgedip bolmajak üýtgeýjini alýarys. Esasy zat, üýtgeýjilerden üýtgewsizlerden has ýönekeý. Olar elmydama özboluşly kesgitlenendir we hiç haçan üýtgemez. Üýtgeýjileri atlandyrmak barada birneme ýokaryrak gürledik we yzygiderli at goýmagyň aýratynlyklaryna üns bermelidiris. Üznüksiz üýtgeýänlerde, ähli sözler aşaky harp bilen bölünen CAPITAL harplar bilen ýazylýar. _ Mysal üçin, bir zadyň iň ýokary bahasyny beýan edýän hemişelik gerek:
final int MAX_VALUE = 999;
Şeýlelik bilen, jemlemek üçin: Programmany dolandyrmaga mümkinçilik berýän maglumatlarymyzy (ýa-da ýerleşýän salgymyzy) saklaýan ýer hökmünde üýtgeýji berilýär. Ilkinji görnüşiň üýtgeýjileri belli bir maglumat formatyna, ululygyna we ýatda saklanyp bilinjek bahalaryň diapazonyna eýe. Üýtgeýjileri ýerleşiş boýunça bölüp bolýar: obýekt, ýerli, synp üýtgeýjileri. Üýtgeýjileriň ýörite görnüşi bar - global üýtgeýänler bolup biler. Olaryň gerimi tutuş maksatnama.
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION