JavaRush /Blog Java /Random-MS /Masalah yang paling biasa bagi mereka yang mula belajar J...

Masalah yang paling biasa bagi mereka yang mula belajar Java

Diterbitkan dalam kumpulan
Tahap pengetahuan yang diperlukan untuk memahami artikel: pemula. Anda sedang dalam proses mengkaji pencarian Java Syntax, dan lebih dekat dengan tahap awalnya. Masalah paling biasa bagi mereka yang mula belajar Java - 1Anda baru mula belajar Java. Anda dihujani dengan istilah-istilah seolah-olah dari tumpah ruah. Anda sarat dengan banyak maklumat teknikal, dan kadangkala anda keliru dalam tiga pokok pain. Percayalah, kerana anda telah terlibat dalam pengaturcaraan, IA AKAN SENTIASA BEGITU (pada masa ini, ketawa yang tidak menyenangkan kedengaran di luar skrin, dan suara yang tenang, memotong pertengahan ayat, berbisik “Lari... selamatkan diri anda sebelum sudah terlambat..."). Pepijat akan menghantui anda sepanjang hayat pengaturcaraan anda, walaupun anda adalah pembangun terbaik. Walau bagaimanapun, ini sama sekali tidak menakutkan seperti yang didengari.
Jika anda baru mula belajar JavaRush, kemungkinan besar anda telah pun menghadapi masalah yang dibangkitkan dalam artikel tersebut. Walau apa pun, kami mengalu-alukan komen yang menerangkan masalah yang anda hadapi pada bulan pertama anda mempelajari Java.

Masalah Tahap 0: Kekeliruan dengan operator perbandingan (==) dan operator tugasan (=).

Ini adalah masalah yang sangat biasa bagi mereka yang beralih daripada bahasa pengaturcaraan lain. Dan secara umum, sejak sekolah rendah kita telah terbiasa dengan fakta bahawa (=)ini adalah tanda yang sama. Helah mudah yang boleh digunakan untuk mengingati adalah ini: jika anda tahu bahawa anda hanya mengambil berat tentang salah satu nilai (anda menetapkan satu kepada yang lain) anda menggunakan satu =tanda " ", sebaliknya jika anda mengambil berat tentang semua pembolehubah dan nilai (anda membandingkannya ) anda memerlukan ==tanda " " berganda.

Masalah: Menggunakan operator perbandingan (==) untuk menguji kesetaraan rentetan

Perkara yang perlu dilakukan: Ingat, tiada objek Java boleh disemak untuk kesetaraan menggunakan(==) , kerana operator ini direka bentuk untuk menguji kesamaan jenis primitif.
Masalah yang paling biasa bagi mereka yang mula belajar Java - 2
Untuk objek anda perlu menggunakan .equals(). Dan Stringdalam bahasa Java ia tidak lebih daripada objek (dan immutable).
Objek yang ditandakan sebagai Immutable objek yang keadaannya tidak boleh diubah selepas penciptaan. Dalam Java , ini bermakna semua medan contoh kelas ditandakan sebagai finaldan adalah primitif (atau juga immutable).

Masalah: Penggabungan rentetan dalam gelung

Jangan cuba ini sendiri! Setiap kali rentetan digabungkan, objek baharu dicipta String(seperti yang kami dapati di atas, rentetan immutabletidak boleh diubah). Pada satu ketika anda akan kehabisan memori atau program akan mula mengambil terlalu banyak masa untuk disiapkan. Penyelesaian. Gunakan StringBuildersebaliknya Stringapabila menggabungkan kandungan dalam gelung. Kelas StringBuilderdigunakan apabila anda perlu membuat banyak perubahan pada rentetan aksara. Dan baris sedemikian, tidak seperti String, bukan immutable.

Masalah: NullPointerException

Pengecualian jenis ini berlaku apabila kita cuba menggunakan penunjuk nol nullsedangkan sebenarnya kita memerlukan objek sebenar.
Semua jenis primitif mempunyai nilai lalai. Jadi, y intialah 0, dan y booleanialah false. Nilai lalai mana-mana jenis rujukan, iaitu, objek, ialah null. Ia bukan objek atau jenis, ia adalah nilai istimewa. Yang pada asasnya bermaksud "tidak ada apa-apa di sini."
Masalah paling biasa mereka yang mula belajar Java - 3
Perkara yang perlu dilakukan: Jika kod anda ditulis sedemikian rupa sehingga pada satu ketika objek anda boleh menerima nilai null, anda perlu menambah "semak untuk null", terutamanya jika anda tidak mencipta objek itu sendiri. Juga ingat bahawa adalah lebih baik untuk memulangkan koleksi kosong daripada satu set null's. Ia juga bagus untuk menambah pengesahan untuk getter dan setter.

Masalah: atas sebab tertentu gelung if / while / for tidak berfungsi

if (something.equals («что-то еще»)); {// <---- корень зла!!!
     System.out.println («Почему я не работаю???»);
}
Apa yang salah di sini? Ianya mudah: koma bertitik tambahan telah merosakkan darah ratusan ribu pengaturcara Java pemula. Nah, anda tidak memerlukannya selepas itu if (). Dari sudut pandangan bahasa, sintaks sedemikian agak boleh diterima, jadi pengkompil tidak akan mengadu mengenainya. Tetapi ia menamatkan pernyataan bersyarat, dan kod di dalam blok {}tidak akan memenuhi syarat di atas.
Masalah paling biasa mereka yang mula belajar Java - 4
Penyelesaian: Ingat logik reka bentuk. Tanda “ ;” bermaksud penghujung blok tertentu, tetapi di sini semuanya baru bermula.

Masalah: Cuba mengakses pembolehubah ahli bukan statik daripada kaedah statik (seperti utama)

Penyelesaian . Masalah ini berkaitan dengan pemahaman konsep itu sendiri static. Jika kaedah ditandakan dengan perkataan ini, ini bermakna kita tidak perlu membuat instantiate kelas untuk memanggil kaedah utama. Jadi penyelesaiannya adalah untuk mempunyai pemahaman yang baik tentang "statik" dan memahami intipatinya.

Masalah: Cuba mencipta semula roda dengan membangunkan perpustakaan dan alatan sedia ada

Penyelesaian. Ia sebenarnya tidak begitu banyak masalah. Untuk pemula, ini lebih kepada latihan yang berguna. Walau bagaimanapun, jika anda ingin memberi tumpuan kepada hasilnya, sebagai contoh, mencipta pangkalan data pelanggan yang mudah, maka mencari pelanggan dalam buku telefon hanyalah salah satu daripada hasil permohonan anda. Dalam kes ini, tidak perlu menulis algoritma carian binari. Gunakan yang sedia ada (kami memberi jaminan kepada anda, seseorang telah menulisnya sebelum anda dan ia berada dalam perpustakaan standard). Jadi pelajari perpustakaan standard Java dalam dokumentasi Oracle. Belajar Google, biasakan membaca Stack Overflow dan tanya soalan tentang bantuan JavaRush ! ... Sudah tentu, ini bukan semua masalah pemula. Terangkan anda dalam komen! Adakah anda berminat untuk membaca artikel berkaitan Java? Sertai kumpulan Pembangun Java . Terdapat banyak perkara menarik di sini.
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION