Köp öwrenip başlaýanlar artmagyň we azalmagyň nämedigini bilenoklar, ýöne her kimiň “
i++
, ++i
” i--
ýa-da --i
“aýlaw” ulanylyşyny görendigine ynanýarys for
. Şeýlelik bilen, biraz düşündiriş.
Artdyrmak näme?
Ösüş, üýtgeýjini köpeldýän köp programma dillerinde amal. Köplenç ulalmak üýtgeýjiniň 1 birlik köpelmegini aňladýar. Tersine operasiýa peselme diýilýär. Pese gaçmak üýtgeýjiniň peselmegi. Köplenç ýeke-ýekeden. Java-da artdyrmak we peselmek, ilkinji nobatda, islendik san üýtgeýjisine ulanylýan birmeňzeş operatorlardyr. Ösüş: iki sany goşmaça alamat "++
" bilen görkezilýär we üýtgeýjiniň bahasyny 1-e ýokarlandyrýar. Pese gaçmak: iki minus alamaty bilen görkezilýär " --
we üýtgeýjiniň bahasyny 1-e çenli peseldýär. Mysal:
int x = 10, z = 10;
x++;
z--;
System.out.println("x: " + x + ", z: " + z);
Netijede x
, köpeler we z
- azalýar. Konsolda göreris : x: 11
, z: 9
Aslynda şeýle ýazyp bilersiňiz:
int x = 10, z = 10;
x = x + 1;
z = z - 1;
System.out.println("x: " + x + ", z: " + z);
Aöne üýtgeýjini diňe 1-e köpeltmek ýa-da azaltmak zerur bolsa, näme üçin gereksiz zatlar ýazmaly? Artmagyň we azalmagyň nämedigini anyklandygymyz gowy, ýöne bu hemmesi däl. Ösüşiň we peselmegiň 2 görnüşi bar - prefiks we postfiks . Eý, Hudaýym, bu näme, pikir etdiňmi?) Alada etme: bu ýerde hem hemme zat aňsat. “Prefiks ” ýa-da “Prefiks” formasy üýtgeýjiniň “ ++x
ýa-da --x
” üýtgeýjisinden öň yglan edilýär, başda üýtgeýjini köpeldýär ýa-da peseldýär. Postfiksx++
ýa- da Postfiks formasy üýtgeýjiden soň yglan edilýär x--
, bahalandyrylandan soň üýtgeýjini köpeldýär ýa-da peseldýär. Hasaplama sözüne üns beren bolsaňyz, gaty gowy sebäp bilen etdiňiz, sebäbi hasaplamalarda ulanylmasa iki görnüşi hem birmeňzeş işleýär. Ine, hasaplamalarsyz bir mysal:
int x = 10, z = 10;
x++;
++z;
System.out.println("x: " + x + ", z: " + z);
Netijede, üýtgeýänleriň ikisi-de 11-e deň bolar. Ine, hasaplama bilen bir mysal:
int x = 10, c = 10;
final int y = 13 - x++;
final int z = 13 - ++c;
System.out.println("y: " + y + ", z: " + z);
Görşüňiz ýaly, " x
we c
" üýtgeýjileriň ikisi hem deňdir we deňlemeler birmeňzeş, ýöne artdyryjy operatory ýazmagyň dürli görnüşleri ulanylýar. Hasaplamalaryň netijesinde y üýtgeýjisi 3 bolar, ýöne z
2 bolar. Aboveokarda ýazylanlara esaslanyp, munuň sebäbini eýýäm çaklap bilersiňiz. Notok bolsa, geliň hemme zady bilelikde “çeýnäliň”. Postfiks formasy hasaplamalardan soň işlär, bu deňlemäniň şeýle işlejekdigini aňladýar:
x = 10;
// Начало уравнения.
y = 13 - x; // С начала производим вычисление (x все еще 10)
x += 1; // Производим увеличение на 1
// Конец уравнения.
Prefiks şeýle işlär:
c = 10;
// Начало уравнения.
c += 1; // Производим увеличение на 1
z = 13 - c; // Производим вычисление (c уже 11)
// Конец уравнения.
Dogrusy, bu hekaýa :) Bu siziň üçin peýdaly we manyly bolar diýip umyt edýäris. Java-ny özleşdirmekde üstünlik arzuw ediň;) Java Multithreading gözleginde Javarush kursunda Java-da artmagy, azalmagy we beýleki operatorlary ulanyp öwrenip bilersiňiz:
GO TO FULL VERSION