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 truepreduli.

Mulane, nalika ngevaluasi ekspresi (dievaluasi saka kiwa menyang tengen), sanalika kita entuk true, evaluasi ekspresi liyane dilewati . Lan yen expression2 lan expression3kalebu panggilan metode, metode kasebut ora bakal diarani !

Sing padha kanggo &&operator logis:

(expression1) && (expression2) && (expression3)

Yen expression1padha karo false, ora ana gunane kanggo ngevaluasi expression2lan expression3: asil bakal falsepreduli.

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! = nullyaiku true.

Yen spadha 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.

Kabeh sing arep ngomong:

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, bbakal 5, ora 6kaya sampeyan bisa mikir ing kawitan marketing.

Yen ++operator sadurunge variabel lan variabel minangka bagean saka sawetara ekspresi, mula bakal ditambah 1lan 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, bbakal 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.