JavaRush /Java Blog /Random-ID /Masalah paling umum bagi mereka yang mulai belajar Java

Masalah paling umum bagi mereka yang mulai belajar Java

Dipublikasikan di grup Random-ID
Tingkat pengetahuan yang dibutuhkan untuk memahami artikel: pemula. Anda sedang dalam proses mempelajari pencarian Sintaks Java, dan mendekati level awalnya. Masalah paling umum bagi mereka yang mulai belajar Java adalah 1Anda baru saja mulai belajar Java. Anda dibombardir dengan istilah-istilah seolah-olah dari tumpah ruah. Anda dimuat dengan banyak sekali informasi teknis, dan terkadang Anda bingung dalam tiga hal. Percayalah, karena Anda sudah terlibat dalam pemrograman, AKAN SELALU BEGITU (pada saat ini, tawa yang tidak menyenangkan terdengar di luar layar, dan suara pelan, terpotong di tengah kalimat, berbisik “Lari… selamatkan dirimu sebelumnya sudah terlambat..."). Bug akan menghantui Anda seumur hidup pemrograman Anda, bahkan jika Anda adalah pengembang terbaik. Namun, hal ini tidak seseram kedengarannya.
Jika Anda baru mulai mempelajari JavaRush, kemungkinan besar Anda pernah menemui masalah yang diangkat dalam artikel tersebut. Apa pun kasusnya, kami akan menerima komentar yang menjelaskan masalah yang Anda alami pada bulan-bulan pertama mempelajari Java.

Masalah level 0: Kebingungan dengan operator perbandingan (==) dan operator penugasan (=).

Ini adalah masalah yang sangat umum bagi mereka yang beralih dari bahasa pemrograman lain. Dan secara umum, sejak sekolah dasar kita sudah terbiasa dengan kenyataan bahwa (=)ini adalah tanda sama dengan. Trik sederhana yang dapat digunakan untuk mengingat adalah ini: jika Anda tahu bahwa Anda hanya peduli pada salah satu nilai (Anda menetapkan satu nilai ke nilai lainnya) Anda menggunakan satu =tanda " ", sebaliknya jika Anda peduli dengan semua variabel dan nilai (Anda membandingkannya) Anda memerlukan ==tanda " " ganda.

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

Apa yang harus dilakukan: Ingat, tidak ada objek Java yang dapat diperiksa kesetaraannya menggunakan(==) , karena operator ini dirancang untuk menguji kesetaraan tipe primitif.
Masalah paling umum bagi mereka yang mulai belajar Java adalah 2
Untuk objek Anda perlu menggunakan .equals(). Dan Stringdalam bahasa Java tidak lebih dari sebuah objek (dan immutable).
Objek yang ditandai sebagai Immutable adalah objek yang keadaannya tidak dapat diubah setelah dibuat. Di Java , ini berarti bahwa semua bidang instance suatu kelas ditandai sebagai finaldan bersifat primitif (atau juga immutable).

Masalah: Penggabungan string dalam satu lingkaran

Jangan mencobanya sendiri! Setiap kali string digabungkan, objek baru dibuat String(seperti yang kita temukan di atas, string immutabletidak dapat diubah). Pada titik tertentu Anda akan kehabisan memori atau program akan memakan waktu terlalu lama untuk diselesaikan. Larutan. Gunakan StringBuildersebagai gantinya Stringsaat menggabungkan konten dalam satu lingkaran. Kelas ini StringBuilderdigunakan ketika Anda perlu membuat banyak perubahan pada string karakter. Dan garis seperti itu, tidak seperti String, tidak immutable.

Masalah: NullPointerException

Pengecualian semacam ini terjadi ketika kita mencoba menggunakan pointer nol nullpadahal sebenarnya kita membutuhkan objek nyata.
Semua tipe primitif memiliki nilai default. Jadi, y intadalah 0, dan y booleanadalah false. Nilai default dari semua tipe referensi, yaitu objek, adalah null. Itu bukan objek atau tipe, itu nilai khusus. Yang pada dasarnya berarti “tidak ada apa-apa di sini.”
Masalah paling umum bagi mereka yang mulai belajar Java adalah 3
Apa yang harus dilakukan: Jika kode Anda ditulis sedemikian rupa sehingga suatu saat objek Anda dapat menerima nilainya null, Anda perlu menambahkan "centang untuk null", terutama jika Anda tidak membuat objek itu sendiri. Ingat juga bahwa lebih baik mengembalikan koleksi kosong daripada sekumpulan null. Sebaiknya tambahkan validasi untuk pengambil dan penyetel.

Masalah: karena alasan tertentu, loop if / while / for tidak berfungsi

if (something.equals («что-то еще»)); {// <---- корень зла!!!
     System.out.println («Почему я не работаю???»);
}
Apa yang salah disini? Sederhana saja: titik koma tambahan telah merusak darah ratusan ribu programmer Java pemula. Nah, Anda tidak memerlukannya setelah itu if (). Dari sudut pandang bahasa, sintaksis seperti itu cukup dapat diterima, sehingga kompiler tidak akan mengeluhkannya. Tapi itu mengakhiri pernyataan kondisional, dan kode di dalam blok {}tidak akan pernah memenuhi kondisi di atas.
Masalah paling umum bagi mereka yang mulai belajar Java adalah 4
Solusi: Ingat logika desain. Tanda “ ;” berarti akhir dari suatu blok tertentu, tetapi di sini semuanya baru saja dimulai.

Masalah: Mencoba mengakses variabel anggota non-statis dari metode statis (seperti main)

Solusi . Permasalahan ini berkaitan dengan pemahaman konsep itu sendiri static. Jika suatu metode ditandai dengan kata ini, berarti kita tidak perlu membuat instance kelas untuk memanggil metode utama. Jadi solusinya adalah memiliki pemahaman yang baik tentang “statis” dan memahami esensinya.

Masalah: Mencoba menemukan kembali roda dengan mengembangkan perpustakaan dan alat yang sudah ada

Larutan. Sebenarnya tidak terlalu menjadi masalah. Untuk pemula, ini lebih merupakan latihan yang bermanfaat. Namun, jika Anda ingin fokus pada hasil, misalnya membuat database pelanggan yang nyaman, maka mencari pelanggan di buku telepon hanyalah salah satu hasil aplikasi Anda. Dalam hal ini, tidak perlu menulis algoritma pencarian biner. Gunakan yang sudah ada (kami jamin, seseorang telah menulisnya sebelum Anda dan itu ada di perpustakaan standar). Jadi pelajari perpustakaan standar Java dalam dokumentasi Oracle. Belajar ke Google, biasakan membaca Stack Overflow dan ajukan pertanyaan tentang bantuan JavaRush ! ...Tentu saja, ini tidak semua masalah pemula. Jelaskan milik Anda di komentar! Apakah Anda tertarik membaca artikel terkait Java? Bergabunglah dengan grup Pengembang Java . Ada banyak hal menarik di sini.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION