Tingkat kawruh sing dibutuhake kanggo mangerteni artikel: pamula. Sampeyan lagi ing proses sinau quest Java Syntax, lan nyedhaki tingkat wiwitan.
Sampeyan lagi wae sinau basa Jawa. Sampeyan dibombardir karo istilah kaya-kaya saka cornucopia. Sampeyan dimuat karo ton saka informasi technical, lan kadhangkala sampeyan bakal bingung ing telung pines. Pracayaa, amarga sampeyan wis melu program, mesthi bakal dadi (ing wektu iki, ngguyu sing ora nyenengake katon ing layar, lan swara sing tenang, dipotong ing tengah-tengah kalimat, bisik-bisik "Mlayu ... wis telat..."). Kewan omo bakal ngganggu sampeyan sajrone urip pemrograman, sanajan sampeyan minangka pangembang sing paling apik. Nanging, iki ora kabeh medeni kaya muni.
Yen sampeyan lagi miwiti sinau JavaRush, mesthine sampeyan wis nemoni masalah sing ana ing artikel kasebut. Ing kasus apa wae, kita bakal nampa komentar babagan masalah sing sampeyan alami ing wulan pisanan sinau basa Jawa. |
Masalah level 0: Kebingungan karo operator perbandingan (==) lan operator tugas (=).
Iki minangka masalah sing umum banget kanggo wong sing ngalih saka basa pamrograman liyane. Lan umume, wiwit sekolah dasar kita wis biasa yen
(=)
iki minangka tandha sing padha. Trik prasaja sing bisa digunakake kanggo ngelingi yaiku: yen sampeyan ngerti yen sampeyan mung peduli karo salah siji nilai (sampeyan nemtokake siji liyane) sampeyan nggunakake tandha " " siji
=
, yen sampeyan peduli karo kabeh variabel. lan nilai (sampeyan mbandhingake) sampeyan butuh
==
tandha "" pindho.
Masalah: Nggunakake operator perbandingan (==) kanggo nyoba kesetaraan string
Apa sing kudu ditindakake: Elinga,
ora ana obyek Jawa sing bisa dicenthang kesetaraan nggunakake(==)
, amarga operator iki dirancang kanggo nyoba kesetaraan jinis primitif.
Kanggo obyek sampeyan kudu nggunakake
.equals()
. Lan
String
ing basa Jawa iku ora luwih saka obyek (lan
immutable
).
Obyek sing ditandhani minangka Immutable obyek sing ora bisa diganti sawise digawe. Ing Jawa , iki tegese kabeh lapangan conto saka kelas ditandhani minangka final lan primitif (utawa uga immutable ). |
Masalah: String concatenation ing loop
Aja nyoba iki dhewe! Saben strings digabungake, obyek anyar digawe
String
(kaya sing ditemokake ing ndhuwur, string
immutable
ora bisa diganti). Ing sawetara titik sampeyan bakal entek memori utawa program bakal miwiti njupuk akeh banget wektu kanggo ngrampungake.
Solusi. Gunakake
StringBuilder
tinimbang
String
nalika concatenating isi ing daur ulang. Kelas
StringBuilder
digunakake nalika sampeyan kudu nggawe akeh owah-owahan ing string karakter. Lan garis kasebut, ora kaya
String
, ora
immutable
.
Masalah: NullPointerException
Pengecualian iki kedadeyan nalika kita nyoba nggunakake pointer null
null
nalika kita butuh obyek nyata.
Kabeh jinis primitif duwe nilai standar. Dadi, y int iku 0 , lan y boolean iku false . Nilai standar saka sembarang tipe referensi, yaiku, obyek, yaiku null . Iku ora obyek utawa jinis, iku nilai khusus. Sing ateges "ora ana apa-apa ing kene." |
Apa sing kudu ditindakake: Yen kode sampeyan ditulis kanthi cara sing ing sawetara titik obyek sampeyan bisa nampa nilai kasebut
null
, sampeyan kudu nambah "mriksa
null
", utamane yen sampeyan ora nggawe obyek kasebut dhewe. Uga elinga yen luwih apik kanggo bali koleksi kosong saka pesawat saka
null
's. Iku uga apik kanggo nambah validasi kanggo getter lan setter.
Masalah: sakperangan alesan loop yen / nalika / kanggo ora bisa digunakake
if (something.equals («что-то еще»)); {
System.out.println («Почему я не работаю???»);
}
Ana apa neng kene? Iku prasaja: titik koma ekstra wis ngrusak getih atusan ewu programer Jawa pemula. Inggih, sampeyan ora perlu sawise
if ()
. Saka sudut pandang basa, sintaksis kasebut cukup ditrima, mula kompiler ora bakal sambat babagan iki. Nanging mungkasi statement saratipun, lan kode nang pemblokiran
{}
ora bakal gawe marem kondisi ndhuwur.
Solusi: Elinga logika desain. Tandha "
;
" tegese pungkasan saka blok tartamtu, nanging ing kene kabeh mung diwiwiti.
Masalah: Nyoba ngakses variabel anggota non-statis saka metode statis (kayata utama)
Solusi . Masalah iki ana hubungane karo pemahaman konsep kasebut dhewe
static
. Yen metode ditandhani karo tembung iki, iku tegese kita ora perlu instantiate kelas kanggo nelpon cara utama. Dadi solusi kasebut yaiku duwe pangerten sing apik babagan "statika" lan ngerti esensie.
Masalah: Nyoba nggawe maneh roda kanthi ngembangake perpustakaan lan alat sing wis ana
Solusi. Sejatine ora dadi masalah. Kanggo pamula, iki luwih minangka latihan sing migunani. Nanging, yen sampeyan pengin fokus ing asil, contone, nggawe database pelanggan sing trep, banjur nggoleki pelanggan ing buku telpon mung minangka salah sawijining asil aplikasi sampeyan. Ing kasus iki, ora perlu nulis algoritma panelusuran binar. Gunakake sing wis ana (kita njamin sampeyan, ana sing wis nulis sadurunge sampeyan lan ana ing perpustakaan standar). Dadi sinau perpustakaan standar Jawa ing dokumentasi Oracle. Sinau Google, sinau maca Stack Overflow lan takon babagan
bantuan JavaRush ! ...Mesthi, iki ora kabeh masalah pamula. Nerangake sampeyan ing komentar!
Apa sampeyan kepengin maca artikel sing ana gandhengane karo basa Jawa? Gabung karo grup Java Developer .
Ana akeh barang sing menarik ing kene.
GO TO FULL VERSION