Arifmetiki amallar
Iň ýönekeý zatdan - arifmetiki amallardan başlalyň. Bular belli goşma (+ belgi), aýyrmak (-), köpeltmek (*) we bölmek (/).public class Main {
public static void main(String[] args) {
int x = 999;
int y = 33;
System.out.println(x+y);
System.out.println(x-y);
System.out.println(x*y);
System.out.println(x/y);
}
}
Konsol çykyşy:
1032
966
32967
30
Bularyň hemmesini eýýäm ulandyňyz. Olara operasiýa goşup bilersiňiz %
- bölümiň galan bölegi.
public class Main {
public static void main(String[] args) {
int x = 33;
int y = 33%2;
System.out.println(y);
}
}
Konsol çykyşy:
1
Bu mysalda 33-den 2-ä bölýäris. Netijede 16-a ýetýäris we 2-den bölünmeýän goşmaça “guýruk” galýar. Bu “guýruk” “bölünişigiň galan” işiniň netijesi bolar. Java (matematika ýaly) deňeşdirme operatorlaryny amala aşyrýar . Olary mekdepdenem bilýän bolsaňyz gerek:
- deňdir (
==
) - has köp (
>
) - az (
<
) - uly ýa-da deňdir (
>=
) - az ýa-da deňdir (
<=
) - deň däl (
!=
)
==
“Deňdir” amaly bir belgi bilen däl-de, ýazylýar =
. Java-daky birlik belligi =
, bir üýtgeýjä san, setir ýa-da başga bir üýtgeýjiniň bahasy berlen ýumuş operatorydyr.
public class Main {
public static void main(String[] args) {
int x = 33;
int y = 999;
System.out.println(x=y);// expect false to be printed to the console
}
}
Konsol çykyşy:
999
Wah! Bu, biziň garaşýan netijämiz däl. Bu düýbünden başga bir maglumat görnüşi: görmegimize garaşýardyk boolean
, ýöne san aldyk. Sebäbi gabygyň içinde deňeşdirme däl-de, tabşyryş amaly bar. x=y
Bahasy y
(999) üýtgeýjä bellendi , soň bolsa konsola x
çap etdik . x
Dogry wariant:
public class Main {
public static void main(String[] args) {
int x = 33;
int y = 999;
System.out.println(x==y);
}
}
Konsol çykyşy:
false
Indi 2 san bilen dogry deňeşdirdik! :) Belleme amalynyň ( =
) başga bir aýratynlygy, “zynjyrly” ýerine ýetirilip bilner:
public class Main {
public static void main(String[] args) {
int x = 999;
int y = 33;
int z = 256;
x = y = z;
System.out.println(x);
}
}
Konsol çykyşy:
256
Rememberatda saklaň: tabşyryk sagdan çepe ýerine ýetirilýär. Bu aňlatma ( x = y = z
) ädimlerde ýerine ýetiriler:
- y = z, ýagny y = 256
- x = y, ýagny x = 256
Bitewi amallar
Olara "uno" - "bir" sözünden "unary" diýilýär. Bu aty aldylar, sebäbi öňkülerinden tapawutlylykda, bir belgide däl-de, bir belgide amala aşyrylýar. Bular öz içine alýar:-
Unary minus. San belgisini tersleşdirýär.
public class Main { public static void main(String[] args) { int x = 999; // change the sign for the first time x = -x; System.out.println(x); // change the sign a second time x= -x; System.out.println(x); } }
Konsol çykyşy:
-999 999
Unary minusy iki gezek ulandyk. Netijede, ilki bilen sanymyz negatiw boldy, soň bolsa ýene pozitiw boldy!
-
Ösüş (
++
) we azalmak (--
)Amal,
++
sanlary bir-birden köpeldýär we amal--
şol bir birlik tarapyndan azalýar.public class Main { public static void main(String[] args) { int x = 999; x++; System.out.println(x); x--; System.out.println(x); } }
Konsol çykyşy:
1000 999
x++
- postfiks belligi ++x
- prefiks belligi Sanlardan öň ýa-da soň plýuslary we minuslary goýsaňyz, esasy tapawut näme? Bir mysalda göreliň:
public class Main {
public static void main(String[] args) {
int x = 999;
int y = x++;
System.out.println(y);
}
}
Konsol çykyşy:
999
Nädogry bir zat barmy? x
1-e köpeltmek we üýtgeýjä täze baha bellemek isledik y
. 1000agny, y 1000-e deň bolmaly. Weöne başga bir netijämiz bar - 999. Görnüşi ýaly x
, köpelmedi we artdyrmak işi işlemedi? Bu nähili işledi. Muny tassyklamak üçin ahyrynda konsola x çap edip görüň :)
public class Main {
public static void main(String[] args) {
int x = 999;
int y = x++;
System.out.println(y);
System.out.println(x);
}
}
Konsol çykyşy:
999
1000
Aslynda, postfiks operasiýasyna şeýle diýilýär: esasy sözlemden soň ýerine ýetirilýär. .Agny, biziň ýagdaýymyzda: int y = x++;
ilki ýerine ýetirilýär y = x
(we üýtgeýjä başlangyç baha berler x
), diňe şondan soň x++
. Bu hereketden kanagatlanmasak näme etmeli? Prefiks belligini ulanmaly:
public class Main {
public static void main(String[] args) {
int x = 999;
int y = ++x;
System.out.println(y);
}
}
++x
Bu ýagdaýda ilki bilen we diňe şondan soň işlär . y = x;
Bu tapawut, şol sebäpli ähli hereketleriň tersine bolup biljek hakyky programmada ýalňyşlyk goýbermezlik üçin derrew ýatda saklamalydyrys :)
Kombinirlenen amallar
Mundan başga-da, Java-da birleşdirilen amallar diýilýär. Iki amalyň utgaşmasyny ulanýarlar:- Bellenme
- Arifmetiki amal
+=
-=
*=
/=
%=
public class Main {
public static void main(String[] args) {
int x = 999;
int y = 33;
x += y;
System.out.println(x);
}
}
Konsol çykyşy:
1032
x += y
diýmekdir x = x + y
. Diňe gysga bolmagy üçin yzly-yzyna iki simwol ulanylýar. -=
Bu , we *=
, kombinasiýalary bilen hem işleýär . /=
%=
Logiki amallar
Sanlar boýunça amallardan başga-da, Java-da Boolean üýtgeýjileri -true
we false
. Bu amallar logiki operatorlaryň kömegi bilen amala aşyrylýar
-
!
- "NOTOK" operator Boolean üýtgeýjiniň bahasyny üýtgedýärpublic class Main { public static void main(String[] args) { boolean x = true; System.out.println(!x); } }
Konsol çykyşy:
false
-
&&
- “AND” operatory.true
Diňe iki operand bolsa bir bahany görkezýärtrue
.public class Main { public static void main(String[] args) { System.out.println(100 > 10 && 100 > 200); System.out.println(100 > 50 && 100 >= 100); } }
Konsol çykyşy:
false true
Ilkinji amalyň netijesi
false
, şertleriň biri ýalňyş bolany üçin, ýagny 100> 200. Operator&&
gaýdyp gelmek üçintrue
ähli şertleriň dogry bolmagyny talap edýär (mysal üçin ikinji setirdäki ýaly) . -
||
- “OR” operatory.true
Operasiýalaryň iň bolmanda biri dogry bolanda gaýdyp gelýär .Ine, öňki mysalymyz başgaça işlär:
public class Main { public static void main(String[] args) { System.out.println(100 > 10 || 100 > 200); } }
Konsol çykyşy:
true
Выражение 100 > 200 по-прежнему ложно, но оператору “or” вполне достаточно, что первая часть (100 > 10) является истинной.
GO TO FULL VERSION