Operasi aritmetika
Ayo diwiwiti kanthi sing paling gampang - kanthi operasi aritmetika. Iki minangka tambahan (+), pengurangan (-), perkalian (*) lan pembagian (/).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);
}
}
Output konsol:
1032
966
32967
30
Sampeyan wis nggunakake kabeh iki. Sampeyan bisa nambah operasi kanggo wong-wong mau %
- seko saka divisi.
public class Main {
public static void main(String[] args) {
int x = 33;
int y = 33%2;
System.out.println(y);
}
}
Output konsol:
1
Ing conto iki, kita dibagi 33 kanthi 2. Akibaté, kita entuk 16 lan tetep ana "buntut" ekstra sing ora bisa dibagi 2 - siji. "buntut" iki bakal dadi asil saka operasi "sisa divisi". Jawa (uga matématika) ngleksanakake operator perbandingan . Sampeyan bisa uga ngerti dheweke saka sekolah:
- padha (
==
) - liyane (
>
) - kurang (
<
) - luwih saka utawa padha karo (
>=
) - kurang saka utawa padha karo (
<=
) - ora padha (
!=
)
==
, lan ora nganggo tandha siji =
. Tandha unit =
ing Jawa minangka operator penugasan, ing ngendi variabel diwenehi nomer, string, utawa nilai variabel liyane.
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
}
}
Output konsol:
999
Adhuh! Iki jelas dudu asil sing dikarepake. Iki minangka jinis data sing beda banget: kita ngarepake ndeleng boolean
, nanging entuk nomer. Iki amarga ing kurung kita duwe operasi assignment, ora comparison. x=y
Nilai y
(999) diutus kanggo variabel x
, lan banjur dicithak x
ing console. Pilihan sing bener:
public class Main {
public static void main(String[] args) {
int x = 33;
int y = 999;
System.out.println(x==y);
}
}
Output konsol:
false
Saiki kita wis mbandhingake angka 2 kanthi bener! :) Fitur liyane saka operasi assignment ( =
) iku bisa rampung "chained":
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);
}
}
Output konsol:
256
Elingi: tugas wis rampung saka tengen ngiwa. Ekspresi iki ( x = y = z
) bakal dieksekusi ing langkah-langkah:
- y = z, yaiku, y = 256
- x = y, iku x = 256
Operasi unary
Padha disebut "unary" saka tembung "uno" - "siji". Dheweke nampa jeneng iki amarga, ora kaya sing sadurunge, ditindakake ing siji nomer, lan ora sawetara. Iki kalebu:-
Utawa minus. Iku mbalikke tandha nomer.
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); } }
Output konsol:
-999 999
Kita nggunakake unary minus kaping pindho. Akibaté, nomer kita dadi negatif ing wiwitan, lan banjur positif maneh!
-
Tambah (
++
) lan nyuda (--
)Operasi
++
nambah nomer siji, lan operasi--
nyuda kanthi unit sing padha.public class Main { public static void main(String[] args) { int x = 999; x++; System.out.println(x); x--; System.out.println(x); } }
Output konsol:
1000 999
x++
- notasi postfix ++x
- notasi awalan Apa prabédan dhasar yen sampeyan sijine plus lan minuses sadurunge utawa sawise nomer? Ayo ndeleng ing conto:
public class Main {
public static void main(String[] args) {
int x = 999;
int y = x++;
System.out.println(y);
}
}
Output konsol:
999
Apa ana sing salah! Kita pengin nambah x
1 lan menehi nilai anyar kanggo variabel kasebut y
. Yaiku, y kudu padha karo 1000. Nanging kita duwe asil sing beda - 999. Pranyata x
ora tambah, lan operasi tambahan ora bisa digunakake? Cara kerjane. Kanggo verifikasi iki, coba print x menyang console ing pungkasan :)
public class Main {
public static void main(String[] args) {
int x = 999;
int y = x++;
System.out.println(y);
System.out.println(x);
}
}
Output konsol:
999
1000
Nyatane, mulane operasi postfix diarani kaya ngono: ditindakake sawise ekspresi utama. Yaiku, ing kasus kita: int y = x++;
pisanan dieksekusi y = x
(lan variabel y bakal diwenehi nilai asline x
), lan mung banjur x++
. Apa yen kita ora puas karo prilaku iki? Sampeyan kudu nggunakake notasi awalan:
public class Main {
public static void main(String[] args) {
int x = 999;
int y = ++x;
System.out.println(y);
}
}
Ing kasus iki, iku bakal bisa pisanan ++x
lan mung sawise iku y = x;
prabédan iki worth ngelingi langsung supaya ora nggawe kesalahan ing program nyata, kang kabeh prilaku bisa mbalikke mudhun amarga iki :)
Operasi gabungan
Kajaba iku, ing Jawa ana sing diarani operasi gabungan. Dheweke nggunakake kombinasi rong operasi:- Assignment
- Operasi aritmetika
+=
-=
*=
/=
%=
public class Main {
public static void main(String[] args) {
int x = 999;
int y = 33;
x += y;
System.out.println(x);
}
}
Output konsol:
1032
x += y
tegese x = x + y
. Mung kanggo ringkesan, rong karakter saurutan digunakake. Iki uga dianggo karo kombinasi saka -=
, *=
, /=
lan %=
.
Operasi logis
Saliyane operasi angka, Jawa uga nduweni operasi ing variabel Boolean -true
lan false
. Operasi kasebut ditindakake kanthi nggunakake operator logis
-
!
- "NOT" operator. Mbalikake nilai variabel booleanpublic class Main { public static void main(String[] args) { boolean x = true; System.out.println(!x); } }
Output konsol:
false
-
&&
- operator "AND". Ngasilake nilaitrue
mung yen loro operandtrue
.public class Main { public static void main(String[] args) { System.out.println(100 > 10 && 100 > 200); System.out.println(100 > 50 && 100 >= 100); } }
Output konsol:
false true
Asil saka operasi pisanan
false
, amarga salah siji saka kondisi iku palsu, yaiku 100 > 200. Operator mbutuhake kabeh kahanan bener (kaya ing baris kapindho, contone)&&
kanggo bali .true
-
||
- operator "OR". Ngasilaketrue
nalika paling ora siji saka operand bener.Ing kene conto sadurunge bakal bisa digunakake kanthi beda:
public class Main { public static void main(String[] args) { System.out.println(100 > 10 || 100 > 200); } }
Output konsol:
true
Выражение 100 > 200 по-прежнему ложно, но оператору “or” вполне достаточно, что первая часть (100 > 10) является истинной.
GO TO FULL VERSION