1. Gula sintaksis
Programer seneng nalika sawetara kode rumit utawa logika bisa ditulis ing saperangan baris, nggawe kode kompak lan bisa diwaca. Lan pangripta basa pamrograman kadhangkala mbantu iki.
Fitur basa sing apik sing ngidini sampeyan njupuk trabasan (nulis kode kurang) diarani gula sintaksis . Nanging, sejujure, ing Jawa mung sithik.
Pangripta Jawa nindakake samubarang kang bisa kanggo ngilangake redundansi ing Jawa. Yen C ++ ngijini sampeyan nindakake soko 20 cara, banjur Jawa ngijini sampeyan nindakake iku mung siji cara.
Nanging programer Jawa utawa pangripta Jawa ora seneng karo kekurangan kebebasan. Lan kadhangkala gula nggawe urip luwih gampang kanggo wong biasa kaya sampeyan lan aku.
Miturut cara, sampeyan wis nemoni sawetara gula sintaksis: autoboxing lan unboxing . Ayo mbandhingake:
Kode dawa | Kode kompak |
---|---|
|
|
|
|
|
|
Tinimbang kode dawa kaya ing sisih kiwa, sampeyan bisa nulis kode sing luwih kompak ing sisih tengen. Lan kompiler Jawa sing cerdas bakal ngasilake versi verbose kode adhedhasar versi cendhak kode kasebut. Iki persis apa gula sintaksis.
2. Inferensi jinis variabel: var
tembung kunci
Ing Jawa 11, kompiler dadi luwih pinter lan saiki bisa nemtokake jinis variabel sing diumumake adhedhasar jinis nilai sing diwenehake . Ing kode, katon kaya iki:
var name = value;
Ing endi name
jeneng variabel anyar, nilai kasebut minangka nilai awal, lan var
minangka tembung kunci sing digunakake kanggo ngumumake variabel kasebut. Jinis variabel jeneng bakal padha karo jinis nilai sing diwenehake.
Tuladha:
Carane kita ndeleng kode | Apa compiler ndeleng |
---|---|
|
|
|
|
|
|
|
|
|
|
Compiler dhewe nemtokake, utawa nyimpulake, jinis variabel adhedhasar nilai sing diwenehake.
Programer debat panas babagan apa bakal nambah fitur kasebut ing basa kasebut. Akeh wong sing wedi yen var
bakal disalahake lan keterbacaan kode bakal nandhang sangsara.
Ana gandum saka bebener iki, supaya iku paling apik kanggo nggunakake var
ngendi iku nambah readability saka kode. Contone, iki ing rong kasus:
Kasus 1: Nggoleki nilai sing ditugasake kanggo variabel, jinis variabel kasebut langsung jelas
Kode | Panjelasan |
---|---|
|
Variabel yaiku aInputStream |
|
Variabel kasebut yaiku aString |
Ing kasus iki, sampeyan ora kudu nggunakake var
. Inggih, apa jinis variabel?
Kode | Panjelasan |
---|---|
|
Iku angel kanggo nemtokake jinis variabel |
|
Iku angel kanggo nemtokake jinis variabel |
Kasus 2: Jinis variabel ora penting kanggo mangerteni kode kasebut
Kode asring ora perlu nelpon metode ing variabel, contone, nalika variabel mung digunakake kanggo nyimpen barang. Ing kasus iki, nggunakake var
mesthi ora nyuda readability saka kode:
Kode dawa | Kode kompak |
---|---|
|
Kita entuk metadata saka stream stream lan disimpen ing storage repositori. Jinis data spesifik variabel ora penting. |
Tegese emas
Saiki aku bakal menehi telung cara kanggo nulis kode sing padha. Nggunakake var
bakal dadi pilihan sing paling apik.
Kode | Cathetan |
---|---|
|
Kompak banget |
|
pas |
|
Detil banget |
Ngalih saka versi karo 1 baris kanggo versi ing 2 baris, kita digawe kode sethitik liyane diwaca kanthi nggunakake jeneng variabel ( headerInfo
). Saiki jelas yen metode kasebut ora mung ngasilake informasi meta, nanging informasi header.
Versi katelu banget verbose. Kasunyatan sing headerInfo
wis FileMetaInfo
cukup cetha saka getFileMetaInfo()
cara. Tujuan informasi meta luwih menarik.
3. Ngilangi jinis karo operator berlian:<>
Malah sadurunge var
operator muncul, ana upaya kanggo mulang kompiler carane nyimpulake jinis koleksi. Sampeyan bakal setuju yen notasi iki katon rada keluwih:
ArrayList<String> list = new ArrayList<String>();
Miwiti saka versi Jawa kaping pitu, nalika nulis jinis koleksi, sampeyan bisa ngilangi jinis unsur koleksi yen wis ditemtokake nalika ngumumake variabel. Ing tembung liyane, kode ing ndhuwur bisa ditulis ing wangun sing rada dicekak:
ArrayList<String> list = new ArrayList<>();
Kaya sing sampeyan ngerteni, sampeyan ora perlu maneh nulis String kaping pindho. Ora kelangan karo operator var, nanging ketoke kaya kemajuan ing wektu.
Kurung sudut kosong ing jinis koleksi kasebut diarani operator berlian , amarga rong kurung sudut samar-samar meh padha karo berlian.
Ora dikarepake nggunakake var
tembung kunci lan operator berlian ing wektu sing padha :
var list = new ArrayList<>();
Ora ana informasi babagan jinis unsur sing disimpen ing koleksi kasebut, lan jinis koleksi bakal dadi ArrayList <Obyek> .
4. Kurung kriting pindho
Elinga initialization array cepet?
Kita mung nyathet nilai ing kurung kriting, kaya iki:
Tuladha |
---|
|
|
Pangripta Jawa seneng gagasan nggunakake kurung kriting kanggo nyederhanakake unsur nulis saka larik. Nanging kepiye babagan koleksi?
Pangripta Jawa uga nduweni pamikiran kreatif sing cukup kanggo koleksi, saengga bisa nggunakake trik nganggo kurung kriting ganda.
Kanthi gula | Tanpa gula |
---|---|
|
|
Yen kompiler nemoni kode kaya ing conto ing sisih kiwa, banjur diowahi dadi kode ing sisih tengen.
Kode ora dadi luwih kompak. Tabungan ing kene cukup sithik: sampeyan ora kudu nulis list
saben wektu. Iki bisa mbiyantu yen jeneng variabel dawa banget.
Nanging yen sampeyan nemokake kode kaya iki ing proyek, aja kaget 🙂