4-lekciya
.pdfAńlatpalardı esaplaw hám ámeller (operator) ústinligi
Javada sanlı ańlatpalardı jazıw ushın arifmetikalıq ańlatpanı tuwrıdan tuwrı Java ámellerinen (operatorlarınan) paydalanǵan halda awdarmalaymız. Máselen mına arifmetikalıq ańlatpa:
3 + 4 |
− |
10 − 5 + + |
+ 9 |
4 |
+ |
9 + |
|
|
|
|
|||
5 |
|
|
|
Java tilinde tómendegishe jazıladı:
(3 + 4 * x) / 5 – 10 * (y – 5) * (a + b + c) / x + 9 * (4 / x + (9 + x) / y)
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
Operator túsinigi
Programmalastırıw tilinde operatorlar sheshilip atırǵan másele algoritmin ámelge asırıw ushın isletiledi. Operatorlar sızıqlı hám basqarıw operatorlarına bólinedi. Kópshilik jaǵdaylarda operatorlar noqatlı útir (“;”) belgisi menen tamamlanadı hám ol kompilyator tárepinen bólek operator dep qabıl etiledi (for operatorınıń qawıs ishinde turǵan ańlatpaları bunnan tısqarı). Bunday operator ańlatpa operatorı dep ataladı. Mánis beriw ámelleri toparı, atap aytqanda, mánis beriw operatorları ańlatpa operatorları esaplanadı:
i++; --j; k+=i;
Programma dúziw ámeliyatında bos operator ';' isletiledi. Biraq, bul operator hesh narse atqarmasa da, esaplaw ańlatpaların til qurallarına sáykes keliwin támiyinleydi. Ayırım jaǵdaylarda júzege kelgen quramalı jaǵdaylardan shıǵıp ketiw imkaniyatın beredi.
Ózgeriwshilerdi járiyalaw da operator esaplanadı hám olarǵa daǵaza operatorı dep ataladı.
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
Keńeytirilgen ózlestiriw operatorları
Keńeytirilgen ózlestiriw operatorların jaratıw ushın +, -, *, / hám % operatorları ózlestiriw operatorı menen birge isletiledi.
Operator |
Atı |
|
Mısal |
Ekvivalent |
|
|
|
|
|
+= |
qosıw ózlestiriw |
|
i += 8 |
i = i + 8 |
|
|
|
|
|
-= |
alıw ózlestiriw |
|
i -= 8 |
i = i - 8 |
|
|
|
|
|
*= |
kóbeytiw ózlestiriw |
i *= 8 |
i = i * 8 |
|
|
|
|
|
|
/= |
pútinley |
bóliw i /= 8 |
i = i / 8 |
|
|
ózlestiriw |
|
|
|
|
|
|
|
|
%= |
qaldıqlı bóliw ózlestiriw |
i %= 8 |
i = i % 8 |
|
|
|
|
|
|
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
Keńeytirilgen ózlestiriw operatorı ańlatpadaǵı barlıq ámeller orınlanıp bolǵannan keyin ámelge asırıladı. Máselen:
x /= 4 + 5.5 * 1.5;
ańlatpası
x = x / (4 + 5.5 * 1.5);
menen birdey
Esletpe. Keńeytirilgen ózlestiriw operatorlarında ortasında probel bolmaydı. Máselen + = bolmawı kerek al, += bolıwı kerek.
x += 2; System.out.println(x += 2);
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
Inkrement hám dekrement operatorları
Inkrement operatorı (++) hám dekrement operatorı (--) ózgeriwshini 1 ge arttırıw yamasa kemeytiriw ushın isletiledi.
++ hám -- ler ózgeriwshini 1 ge arttırıw ushın qısqa jazılıwı esaplanadı. Bular qolay esaplanadı, sebebi biz kóp programmalarda ózgeriwshilerdi 1 ge arttıramız yamasa 1 ge kemeytiremiz. Máselen tómendegi kod i di 1 ge arttıradı al j di 1 ge kemeytiredi.
int i = 3, j = 3; i++; //i=4 boladı j--; //j=2 boladi
Eger ++ ózgeriwshiniń izinde kelse (i++) postfiks inkrement (postinkrement), al eger ózgeriwshiniń aldında kelse (++i) prefiks inkrement (preinkrement) dep aytıladı.
int i = 3, j = 3; ++i; //i=4 boladı --j; //j=2 boladi
Eger -- ózgeriwshiniń izinde kelse (i--) postfiks dekrement (postdekrement), al eger ózgeriwshiniń aldında kelse (--i) prefiks dekrement (predekrement) dep aytıladı.
Bul belgilerdiń aldında yamasa izinde keliwi ańlatpada qatnasqan gezde áhmiyetke iye boladı.
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
Inkrement hám dekrement operatorları
Operator |
Atı |
Túsindirme |
|
|
Mısal (i = 1) |
|
++ózg |
preinkrement |
ózg ózgeriwshisin 1 ge arttırip keyin int j = ++i; |
||||
|
|
taza mánisti ańlatpada paydalanadı |
//j = 2, i = 2 |
|||
ózg++ |
postinkrement |
ózg ózgeriwshisin 1 ge arttıradı |
int j = i++; |
|||
|
|
biraq |
aldınǵı |
mánisti |
ańlatpada //j = 1, i = 2 |
|
|
|
paydalanadı |
|
|
|
|
--ózg |
predekrement |
ózg ózgeriwshisin 1 ge kemeytirip int j = --i; |
||||
|
|
keyin |
taza |
mánisti |
ańlatpada //j = 0, i = 0 |
|
|
|
paydalanadı |
|
|
|
|
ózg-- |
postdekrement |
ózg ózgeriwshisin 1 ge kemeytiredi int j = i--; |
||||
|
|
biraq |
aldınǵı |
mánisti |
ańlatpada //j = 1, i = 0 |
|
|
|
paydalanadı |
|
|
|
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
Mısal
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>