Persijilan I Programmer OCA Java SE8 ialah sijil penting pertama yang perlu dimiliki sebelum mengambil Peperiksaan OCP. Seseorang dijangka menduduki OCA terlebih dahulu sebelum mengambil OCP. Sebagai seorang pemula soalan boleh menjadi rumit. Anda datang dari dunia Javascript dan tidak tahu apa-apa tentang Java. Siaran ini telah anda bincangkan.
Di sini kami ingin membincangkan beberapa soalan rumit yang boleh ditanya dalam peperiksaan OCA dengan niat untuk membantu mereka yang ingin menduduki peperiksaan. Jangan lupa untuk berkongsi beberapa soalan yang anda anggap rumit dalam ulasan. Mari bantu satu sama lain.
Inilah yang selalu saya lihat dalam kebanyakan braindumps yang lalu.
Jenis soalan 1 Termasuk kod ringkas tetapi pilihan jawapan yang rumit atau mengelirukan.
Berikut ialah contoh kod:
class JavaCertQType1 { public static void main(String... cmd) { main("private", cmd); } private static void main(String type, String[] args) { System.out.println(args[0] + args[1]); } }
QSN -> Apakah output apabila kelas JavaCertQType1 dilaksanakan menggunakan arahan berikut (pilih 1 pilihan):
java JavaCertQType1 1 11 EJava Guru
Berapa ramai daripada anda mendapat jawapan tepat sebelum menyemak jawapan?
Jika anda menyemak dengan betul, anda dapat melihat bahawa kaedah utama telah terlebih beban dan ia benar-benar baik di Jawa. Kaedah utama dalam Java boleh bersifat peribadi, tetapi ia tidak akan berfungsi sebagai titik masuk untuk pelaksanaan program apabila anda cuba menjalankan kelas secara langsung dengan arahan Java ClassName.
Ya anda sudah biasa melihat ini
public static void main(String[] args) tetapi ini
utama kekosongan statik peribadi(String[] args) juga dibenarkan.
Sekarang mari kita dapatkan jawapannya
111
Ini penjelasannya
Saya melihat empat hujah baris arahan 1 11 EJava Guru. Argumen ini dihantar ke kaedah utama(String... cmd) sebagai cmd tatasusunan, yang akan mengandungi {"1", "11", "EJava", "Guru"}. Kaedah utama yang terlebih beban melaksanakan kaedah cetakan. Kami membaca argumen daripada indeks 0, jadi args[0] ialah "1", dan args[1] ialah "11".
Anda mungkin tertanya-tanya mengapa kami tidak memilih 1 11 sebagai jawapan. Sebabnya ialah dalam Java, argumen baris perintah yang diluluskan semasa pelaksanaan program sentiasa dianggap sebagai rentetan.
Ini adalah rentetan, jadi pengendali melakukan penggabungan rentetan
"1" "11"
dan jawapannya ialah
111.
Apa yang akan berlaku jika kami telah mengalih keluar kaedah utama persendirian tetapi masih memanggilnya kaedah utama kami??
class JavaCertQType1 { public static void main(String... cmd) { main("private", cmd); // Calls the overloaded private main method } }
Perintah Pelaksanaan:
java JavaCertQType1 1 11 EJava Guru
JVM akan mencari kaedah public static void main(String... cmd) untuk memulakan program. Melihat bahawa kod di dalam kaedah utama awam memanggil kaedah lain yang dinamakan utama, ia akan cuba mencari kaedah utama yang terlebih beban dan gagal menemuinya. Oleh kerana tiada tandatangan yang sepadan, ia gagal untuk menyusun yang membawa kepada
Ralat Penyusunan
NB
Kaedah utama boleh menjadi peribadi, tetapi ia tidak boleh berfungsi sebagai titik masuk untuk pelaksanaan program oleh JVM. Ia berguna untuk kaedah terlebih muatan atau logik dalaman tetapi mesti digunakan oleh kaedah lain (seperti utama awam)
Terima kasih kerana membaca artikel saya, dan jangan lupa untuk berkongsi soalan yang lebih rumit dalam ulasan. Bawa mereka ke sini, dan mari kita bincangkan mereka.
Atas ialah kandungan terperinci Apakah jenis atau format soalan yang boleh saya harapkan dalam peperiksaan?? (Pensijilan rogrammer I OCA Java SE). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!