1. Operasi Boolean
Operator |
lan &
bisa ditrapake ora mung kanggo angka, nanging uga kanggo ekspresi boolean.
Nanging, sing wis ngerti, ana &&
lan ||
operator. Napa kita nggunakake |
tinimbang ||
, lan &
tinimbang &&
? Apa ana gunane iki? Iku misale jek sing ana. Kadhangkala.
Operator logis ||
lan &&
logis dieksekusi saka kiwa menyang tengen miturut prinsip kesed .
(expression1) || (expression2) || (expression3)
Yen expression1
padha karo true
, ora ana gunane kanggo ngevaluasi expression2
lan expression3
: asil bakal true
preduli.
Mulane, nalika ngevaluasi ekspresi (dievaluasi saka kiwa menyang tengen), sanalika kita entuk true
, evaluasi ekspresi liyane dilewati . Lan yen expression2
lan expression3
kalebu panggilan metode, metode kasebut ora bakal diarani !
Sing padha kanggo &&
operator logis:
(expression1) && (expression2) && (expression3)
Yen expression1
padha karo false
, ora ana gunane kanggo ngevaluasi expression2
lan expression3
: asil bakal false
preduli.
Iki minangka kasunyatan penting sing ngidini sampeyan nulis kaya:
String s = null;
if (s != null && s.length() > 0) {
Conto ing ndhuwur ora bakal menehi sampeyan NullPointerException , amarga s.length()
mung bakal dieksekusi yen bagean pisanan s! = null
yaiku true
.
Yen s
padha karo null
, bagean ing sisih kiwa operator &&
yaiku false
, banjur asil saka ekspresi boolean kabeh yaiku false
, mula bagean ing sisih tengen ( s.length() > 0
) ora dievaluasi.
Yen sampeyan nggunakake |
operator utawa &
operator, banjur ora ana evaluasi kesed : saben subekspresi bakal tansah dievaluasi.
2. Pranatacara ing Jawa
Minangka sampeyan bisa uga elinga saka kelas matematika SMA, operator perkalian nduweni precedence sing luwih dhuwur tinimbang operator tambahan. Kurung nduweni precedence sing luwih dhuwur: ekspresi ing kurung dievaluasi luwih dhisik, banjur perkalian lan pembagian, banjur tambahan lan pengurangan.
Operator ing Jawa uga duwe urutan precedence. Bentenipun punika a) ana rada luwih saka wong-wong mau, b) kanggo sawetara operator, operan dievaluasi saka kiwa menyang tengen, nalika kanggo wong - saka tengen ngiwa.
Mangkene tabel karo kabeh operator Java:
Babagan | Operator | asosiatif |
---|---|---|
Postfix | () [] . |
Saka kiwa nengen |
Unary | ++ -- ! ~ |
Nengen ngiwa |
Multiplicative | * / % |
Saka kiwa nengen |
Aditif | + - |
Saka kiwa nengen |
Ngalih | >> >>> << |
Saka kiwa nengen |
Relasional | > >= < <= |
Saka kiwa nengen |
Podo | == != |
Saka kiwa nengen |
BitwiseAND |
& |
Saka kiwa nengen |
Exclusive OR (XOR) |
^ |
Saka kiwa nengen |
BitwiseOR |
| |
Saka kiwa nengen |
LogisAND |
&& |
Saka kiwa nengen |
LogisOR |
|| |
Saka kiwa nengen |
bersyarat | ?: |
Nengen ngiwa |
Assignment | = += -= *= /= %= >>= <<= &= ^= |= |
Nengen ngiwa |
Koma | , |
Saka kiwa nengen |
Ing baris ndhuwur ngemot operator karo precedence paling dhuwur. Tanda kurung ()
digunakake kanggo nyetel prioritas kanthi jelas. Kurung persegi []
digunakake kanggo ngakses unsur ing indeks tartamtu saka variabel array. Operator titik ( .
) digunakake kanggo ngakses kolom lan cara nggunakake referensi kanggo obyek utawa kelas.
Sing ngisor operator ing meja, luwih murah precedence.
Yen sampeyan nggunakake sawetara operator ing ekspresi, aja kesed: nambah kurung.
Ing Jawa, sampeyan bisa nulis kaya if (a & 1<< b > ~c)
, nanging ora. Sampeyan nulis kode ora mung kanggo compiler, nanging uga kanggo programer liyane. Kode sing luwih bisa diwaca, luwih apik.
3. Tambah ater-ater lan postfix
Kaya sing wis dingerteni, Jawa nduweni operator increment ( ++
) lan operator decrement ( --
). Mungguh, nambah lan ngurangi nilai variabel kanthi 1
.
Apa sampeyan ora ngerti manawa ana rong jinis operator kasebut: awalan (operator diselehake sadurunge variabel) lan postfix (operator diselehake sawise variabel). Lan rong jinis operator kerjane rada beda.
Ing Jawa, sampeyan bisa nulis ekspresi kaya iki:
int a = 5;
int b = a++;
Yen ++
operator katon sawise variabel lan variabel kasebut minangka bagean saka sawetara ekspresi (kaya ing conto ing ndhuwur), ekspresi kasebut bakal nggunakake nilai variabel saiki, lan mung sawise variabel kasebut bakal ditambah 1
.
Ing tembung liya, kedadeyan kaya mangkene:
int a = 5;
int b = a;
a = a + 1;
Sing, b
bakal 5
, ora 6
kaya sampeyan bisa mikir ing kawitan marketing.
Yen ++
operator sadurunge variabel lan variabel minangka bagean saka sawetara ekspresi, mula bakal ditambah 1
lan mung sawise nilai kasebut bakal digunakake ing ekspresi kasebut.
int a = 5;
int b = ++a;
Conto ing ndhuwur padha karo conto ing ngisor iki:
int a = 5;
a = a + 1;
int b = a;
Ing kene, b
bakal padha karo 6
.
Malah ana conto sing digunakake dening programer Jawa kanggo nemtokake manawa wong liya uga dadi programer Jawa:
int a = 5;
int b = ++a + ++a;
Ya, sampeyan uga bisa nulis.
Conto iki bakal kompilasi kanthi apik lan dadi kaya iki:
int a = 5;
a = a + 1;
int v1 = a;
a = a + 1;
int v2 = a;
int b = v1 + v2;
Kanggo --
operator, kabeh padha persis.
GO TO FULL VERSION