Rumah >Java >javaTutorial >Analisis Soalan Contoh Pengaturcaraan Java

Analisis Soalan Contoh Pengaturcaraan Java

WBOY
WBOYke hadapan
2023-04-24 19:07:051009semak imbas

Soalan 1:

<code>public static void demo01() {<br>    Integer f1 = 100, f2 = 100, f3 = 200, f4 = 200;<br>    System.out.println(f1 == f2);<br>    System.out.println(f3 == f4);<br>}</code>

Soalan 2:

<code>private static Integer i;<br>public static void demo02() {<br>    if (i == 0) {<br>        System.out.println("A");<br>    } else {<br>        System.out.println("B");<br>    }<br>}</code>

Jawapan Soalan 1:

benar

salah

Jawapan Soalan 2:

NullPointerException

Analisis:

Soalan 1:

Berikut ialah kod sumber "autoboxing" dalam kelas Integer:


<code>public static Integer valueOf(int i) {<br>    if (i >= IntegerCache.low && i <= IntegerCache.high)<br>        return IntegerCache.cache[i + (-IntegerCache.low)];<br>    return new Integer(i);<br>}<br></code>
Nilai IntegerCache.low ialah -128, dan nilai IntegerCache.high ialah 127. Dalam erti kata lain, apabila Integer dikotak secara automatik, jika julat nilai integer dinilai antara [-128,127], nilai dalam kumpulan pemalar integer akan digunakan secara langsung jika ia tidak berada dalam julat ini, Integer baharu () akan diwujudkan. Oleh itu, f1 dan f2 dalam soalan ini kedua-duanya berada dalam julat [-128,127] dan menggunakan nilai yang sama dalam kolam malar. Walau bagaimanapun, f3 dan f4 tidak berada dalam julat [-128,127], dan nilainya adalah kedua-duanya baharu, jadi f3 dan f4 bukan objek yang sama.

Soalan 2:

Nilai lalai Integer i ialah nol. Apabila i==0 dilaksanakan, sebelah kanan tanda sama ialah nombor, jadi untuk melaksanakan operasi perbandingan, Integer akan dinyahkotak secara automatik (iaitu, Integer akan ditukar kepada jenis int). Jelas sekali, jika anda menyahkotak null (menukar null kepada nombor), NullPointerException akan dilaporkan.

Atas ialah kandungan terperinci Analisis Soalan Contoh Pengaturcaraan Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam