"Hai, Bilaabo!"
"Bilaabo seneng menehi salam marang kancane!"
"Dina iki Bilaabo bakal ngandhani sampeyan babagan precedence operator. Nanging luwih dhisik dheweke bakal ngandhani babagan operator kasebut."
"Operator apa sing sampeyan gunakake iki?"
"Satemene, sampeyan wis kenal karo dheweke. Sampeyan bisa uga ora ngerti yen dheweke diarani operator."
"Contone, kita duwe ekspresi c = a + b; "
"Duwe rong operator: operator tambahan lan operator penugasan."
"Ing tembung liyane, operator mung tandha matematika? Kaya perkalian, divisi, lan tambahan?"
"Ya bener. Nanging, ana bedane."
"Aku ora bakal nemtokake operator kanggo sampeyan: definisi ora bakal nggawe sampeyan luwih pinter. Iku luwih apik kanggo ndeleng wong ing tumindak. Operator bisa dipérang dadi sawetara klompok, kang kita bakal nliti saiki."
1) " Operator Matematika "
Simbol | Tuladha | jeneng | Deskripsi (apa sing ditindakake) |
---|---|---|---|
+ |
a + b |
Operator tambahan | Operator tambahan. |
- |
c - d |
Operator pangurangan | Subtracts nomer loro saka pisanan. |
* |
a * t |
Operator multiplikasi | Multiplies loro nomer. |
/ |
a / b |
Operator divisi | Dibagi nomer pisanan karo nomer loro. |
% |
c % d |
Dibagi nomer pisanan karo nomer loro. | Ngitung sisa sawise dibagi nomer pisanan karo nomer loro. |
- |
-a |
Utawa minus | Ngganti tandha variabel dadi ngelawan. Plus kanggo minus, lan minus kanggo plus. |
+ |
+a |
Unary plus | Ora ngowahi apa-apa. Iki ditambahake kanggo pujian operator unary minus. Iku mung kanggo katon. |
"Aku kenal iki saka sekolah. Perangkat kukuhku kalebu kursus sekolah."
"Nanging, apa ana tandha persen kasebut, sawetara jinis sihir?"
"Iku" seko sawise divisi "operator. Yen 11 dibagi 5, banjur kita njaluk 2 lan seko 1. Iki 1 bisa dipikolehi kanthi nulis 11 % 5;
"Nalika sampeyan dibagi integer ing Jawa, asil uga integer. Sisa saka operasi divisi mung digatèkaké. Yen kita dibagi 8 karo 5, kita entuk 1."
Ekspresi | asil | |
---|---|---|
19 / 10 |
1 | Yen kita dibagi 19 karo 10, asile 1 karo sisa 9. |
19 % 10 |
9 | Yen kita dibagi 19 karo 10, asile 1 karo sisa 9. |
2 / 5 |
0 | Yen kita dibagi 2 karo 5, asile 0 karo sisa 2. |
16 % 2 |
0 | Yen dibagi 16 karo 2, asile 8 kanthi sisa 0. |
"Nanging apa ing jagad iki kita butuh sisa?"
"Upama sampeyan kudu mriksa apa integer genap. Banjur sampeyan bisa nulis:"
if (a % 2 == 0)
"Lan yen sampeyan kudu mriksa yen b aneh, sampeyan bisa nulis:"
if (b % 2 == 1)
"Utawa kanggo mriksa apa d bisa dibagi 3:"
if (d % 3 == 0)
"Menarik. Aku bakal ngelingi."
2) " Operator Perbandingan "
Simbol | Tuladha | jeneng | Deskripsi (apa sing ditindakake) |
---|---|---|---|
< |
a < b |
Kurang saka | Priksa manawa a kurang saka b. |
<= |
c <= d |
Kurang saka utawa padha karo | Priksa manawa c kurang saka utawa padha karo d. |
> |
a > b |
Ngungkuli | Priksa manawa a luwih gedhe tinimbang b. |
>= |
c >= d |
Luwih gedhe utawa padha karo | Priksa manawa c luwih gedhe utawa padha karo d. |
== |
i == j |
padha | Priksa manawa aku padha karo j. |
!= |
a != 0 |
Ora padha karo | Priksa manawa a ora padha karo nol. |
"Aku wis nggunakake kabeh iki."
"Lan apa prabédan utama antarane operator iki lan operator matematika?"
"Yen kita nambah rong nomer, kita entuk nomer; nanging, yen kita mbandhingake rong nomer, kita bakal bener utawa salah."
"Iku bener. Asil saka comparison punika " nilai logis " Nilai, kang, sampeyan ngerti, diwakili dening jinis boolean. Ana rong kemungkinan: bener utawa salah.
"Ya wis jelas kabeh. Aku wis ngerti."
3 ) Operator Logika
Simbol | Tuladha | jeneng | Deskripsi (apa sing ditindakake) |
---|---|---|---|
&& |
a && b |
LAN | Asil ekspresi kasebut bener mung nalika a lan b bener. |
|| |
c || d |
UTAWA | Asil ekspresi kasebut bener yen a utawa b bener. Loro-lorone utawa paling ora siji. |
! |
!a |
ORA | Asil ekspresi kasebut bener mung yen a salah. |
"Operator logis mung bisa digunakake karo variabel utawa ekspresi boolean."
Tuladha | Katrangan |
---|---|
boolean a = true; boolean b = true;if (a && b) |
Yen kondisi bener yen loro nilai bener Ing tembung liyane, yen loro a lan b bener, banjur asil bener . |
boolean a = true; boolean b = false;if (a || b) |
Yen kondisi bener yen paling ora siji nilai bener Ing tembung liyane, yen a utawa b bener, banjur asil bener . |
boolean b = false;
|
Kondisi yen bener yen b ora bener. Ing tembung liyane, yen b iku salah , banjur asil bener . |
int a = 2, b = 3, c = 4;
|
Yen a kurang saka b lan a kurang saka c, mula asil ekspresi kasebut bener. a, b, lan c minangka wilangan bulat, nanging asil saka mbandhingake wilangan bulat yaiku nilai logis (bener, salah), tegese kita bisa nggunakake operator logis. |
"Aku wis ngerti kabeh iki."
"Tenan? Ayo diterusake."
4 ) Operator bitwise
Simbol | Tuladha | jeneng | Deskripsi (apa sing ditindakake) |
---|---|---|---|
& |
a & b |
LAN | Bitwise AND |
| |
c | d |
UTAWA | Bitwise UTAWA |
~ |
~a |
ORA | Bitwise ora |
^ |
a ^ b |
XOR | Bitwise "EKSKLUSIF UTAWA" |
" Operator bitwise nindakake operasi bit-by-bit ing integer."
"Apa iku?"
"Saben nomer dituduhake minangka set bit, banjur asil diitung kaya ing ngisor iki:"
"Yen bit pisanan saka nomer loro iku 1, banjur bit pisanan asil bakal 1."
"Yen bit kaloro nomer loro iku 1, banjur bit kapindho asil bakal 1. Lan sateruse."
"Apa bener kanggo kabeh operator bitwise?"
"Iku akeh prasaja saka sing. A dicokot mung bisa duwe loro nilai, 0 lan 1, tengen?"
"Bener."
"Banjur pikirake 1 minangka bener, lan 0 minangka palsu. Operasi ing bit individu bakal meh padha karo operasi logis: "
Ekspresi logis | Ekspresi bitwise |
---|---|
bener && bener == bener | 1&1 == 1 |
bener && salah == salah | 1&0 == 0 |
leres || bener == bener | 1|1 == 1 |
leres || salah == bener | 1|0 == 1 |
goroh || goroh = goroh | 0|0 == 0 |
!salah == bener | ~0 == 1 |
!bener == salah | ~1 == 0 |
"Oh! Gampang banget."
"Ya, aja lali yen operasi bitwise nggunakake bit sing cocog saka rong nomer."
"Ya, aku elinga: bit pisanan saka siji nomer dipasangake karo bit pisanan saka kaloro, lan asil uga ditulis kanggo bit pisanan. Lan padha dadi kanggo liyane saka bit."
"Bener. Apa sampeyan duwe pitakonan liyane?"
"Apa karo XOR lan 'eksklusif utawa'?"
"Iku sepotong kue: yen nilai beda, iku bener; yen padha, iku palsu."
Ekspresi logis | Ekspresi bitwise |
---|---|
bener XOR bener == salah | 1 ^ 1 == 0 |
palsu XOR palsu == palsu | 0 ^ 0 == 0 |
bener XOR salah == bener | 1 ^ 0 == 1 |
palsu XOR bener == bener | 0 ^ 1 == 1 |
Mangkene sawetara conto liyane saka operasi bitwise:
Tuladha | Angka minangka bit | Asil minangka bit | asil |
---|---|---|---|
5 & 3 |
0000010 1 & 0000001 1 | 0000000 1 | 1 |
7 & 2 |
000001 1 1 & 000000 1 0 | 00000010 | 2 |
5 | 9 |
00000 1 0 1 | 0000 1 001 _ | 00001101 | 13 |
5 ^ 9 |
00000 101 ^ 00001001 | 0000 1100 | 12 |
~9 |
~ 00001001 | 11110110 | 246 |
"Matur nuwun, Bilaabo. Saiki aku ngerti."
"Ana siji klompok operator bitwise, operator shift:"
5) " Operator Shift "
Simbol | Tuladha | jeneng | Deskripsi (apa sing ditindakake) |
---|---|---|---|
>> |
a >> b |
shift tengen | Nggeser bit saka nomer a menyang tengen dening b digit. |
<< |
c << d |
shift ngiwa | Nggeser bit saka angka c menyang ngiwa dening d digit. |
>>> |
a >>> 2 |
unsigned shift tengen | Nggeser bit angka a menyang tengen kanthi 2 digit. |
"Apa jenis sihir dalan iki?"
"Satemene kabeh pancen prasaja. Priksa:"
Tuladha | Angka minangka bit | Asil minangka bit | asil |
---|---|---|---|
10 >> 1 |
0000 101 0 >> 1 | 00000 101 | 5 |
10 >> 2 |
0000 101 0 >> 2 | 000000 10 | 2 |
10 << 1 |
0000 101 0 << 1 | 000 101 00 | 20 |
10 << 2 |
0000 101 0 << 2 | 00 101 000 | 40 |
"Ngoper bit nomer ngiwa karo 1 iku padha karo multiplying nomer karo 2. Shifting dening rong digit padha karo pingan dening 4, dening telung digit - pingan dening 8, lan sateruse."
"Ngoper nengen cocog karo dibagi 2, 4, 8, 16, lsp."
"Nanging apa bedane antarane >>> lan >> operator?"
"Dheweke beda-beda nalika nggarap angka negatif. Iki amarga nomer sing ditandatangani nggunakake bit paling kiwa kanggo nunjukake tandha kasebut. Akibaté, nomer negatif mandheg dadi negatif nalika pindhah menyang sisih tengen. Dadi, padha teka karo rong operator sing beda. Cek opo iki :"
Ekspresi | asil | Katrangan |
---|---|---|
1 000 1010 >> 1 | 11 000 101 | Nomer negatif tetep negatif. Kanggo nomer negatif, bit mlebu diisi karo 1s. |
1 000 1010 >> 2 | 111 000 10 | |
1 000 1010 >> 3 | 1111 000 1 | |
1 000 1010 >>> 1 | 01 000 101 | Nomer negatif ora negatif maneh. Kanggo nomer negatif, bit mlebu diisi karo 0s. |
1 000 1010 >>> 2 | 001 000 10 | |
1 000 1010 >>> 3 | 0001 000 1 |
"Pergeseran ora siklik. Bit sing ngluwihi pinggir kiwa utawa tengen nomer mung dibuwang."
6) " Operator Tugas "
"Aku wis ngerti tugas apa. Nanging kok sampeyan ngomong 'operator'?"
"Amarga ana sawetara ☺"
Operator | Opo artine kuwi |
---|---|
a += b; |
a = a + b; |
a -= b; |
a = a - b; |
a *= b; |
a = a * b; |
a %= b; |
a = a % b; |
a |= b; |
a = a | b; |
a &= b; |
a = a & b; |
"Aku mikir sampeyan entuk logika."
7) " Operator Tambah lan Ngurangi "
Notasi | Tuladha | Katrangan |
---|---|---|
++ |
a++; ++b; |
Nambah nomer kanthi 1. |
-- |
d--; --i; |
Ngurangi angka utawa variabel kanthi 1. |
"Apa ana prabédan antarane sijine loro pratandha minus sadurunge utawa sawise variabel?"
"Ya, ana, sanajan ora gedhe banget. Yen variabel karo salah siji operator iki minangka bagean saka ekspresi utawa tugas, mula ana bedane. Aku luwih seneng nuduhake sampeyan kanthi conto: "
Tuladha | Apa pancene kedadeyan | Katrangan |
---|---|---|
int a = 3; int b = ++a; |
int a = 3; a = a + 1; int b = a; |
a pisanan tambah dening 1, lan banjur digunakake ing expression. |
int a = 3; int b = a++; |
int a = 3; int b = a; a = a + 1; |
a pisanan digunakake ing ekspresi, banjur mundhak 1. |
int a = 3; return a++; |
int a = 3; int result = a; a = a + 1; return result; |
Fungsi kasebut bakal ngasilake 3, nanging nilai a bakal ditambah 1. |
int x = 5; x = ++x + ++x; |
int x = 5; int a = x + 1;// The first term is 6 x = a; int b = x + 1;// The second term is 7 x = b; x = a + b; |
Asil ing kene yaiku 13. Kaping pisanan, x bakal nambah 1, lan nilai iki bakal ngganti istilah pisanan, banjur x bakal nambah maneh 1. |
"Wah! Apik tenan!"
"Aku seneng sampeyan seneng. Nanging, yen ora ana ekspresi utawa tugas, mula ora ana bedane:"
"x++ padha karo x = x + 1."
"++x padha karo x = x + 1."
"Aku bakal tetep ing pikiran. Thanks, Bilaabo."
8) " Operator Ternary "
"Operator iki ora mung nggunakake siji utawa loro variabel utawa ekspresi. Iki nggunakake telung variabel utawa ekspresi bebarengan: "
Notasi | Kode sing padha: |
---|---|
a ? b : c; |
if (a) b else c |
int min = a < b ? a : b; |
if (a < b) min = a; else min = b; |
return a != null ? a.length : 0; |
if (a != null) return a.length; else return 0; |
"Inggih, punika super trep."
"Ya. Lan kompak lan kode bisa diwaca. Seneng nggunakake!"
9) " Liyane "
"Ora ketompo carane ngatur koleksi musik sampeyan, sampeyan isih kudu nggawe folder "Miscellaneous".
"Ya, sapa wae sing kudu nggolongake musik mesthi setuju."
"Dadi, ana telung operator liyane sing arep dakcritakake:"
Notasi | Tuladha | Katrangan |
---|---|---|
() |
(a + b) * c |
Kurung nambah precedence operator. Bab-bab ing kurung dieksekusi dhisik. |
[] |
c [i] = c [i + 1]; |
Entuk unsur array kanthi indeks. |
. |
int n = a.length; |
" Operator titik " ngakses variabel lan metode obyek. |
"Lan, pungkasane, iki tabel sing ngringkes prioritas operator:"
Operator | Tuladha |
---|---|
Precedence paling dhuwur (operator dieksekusi miturut urutan ing tabel iki) | |
() [] . |
(a + b) c [i] = c [i] + 1 |
++ -- ~ ! + - |
i++; ++i; --j; a--; ~c !f return +a; return -a; |
* / % |
a * b c / d a % b |
+ - |
a + b c - d String s = "count"+"35"; |
>> << >>> |
a >> 3 b << 2 c >>> 3 |
< <= > >= |
a < b a <= b c > b c >= b |
== != |
a == 3 a != 0 |
& |
a & 7 |
^ |
a ^ b |
| |
a | b |
&& |
(a < b) && (a < c) |
|| |
(b != 0) || (c != 0) |
? : = |
a > 0 ? a : -a; |
= *=, /=, %= -=, += <<=. >>=, >>>= &=, ^=. |= |
|
Precedence paling murah (dilaksanakake pungkasan) |
GO TO FULL VERSION