Heim > Java > javaLernprogramm > Analyse von Beispielfragen zur Java-Programmierung

Analyse von Beispielfragen zur Java-Programmierung

WBOY
Freigeben: 2023-04-24 19:07:05
nach vorne
1007 Leute haben es durchsucht

Frage 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>
Nach dem Login kopieren

Frage 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>
Nach dem Login kopieren

Frage 1 Antwort:

wahr

falsch

Frage 2 Antwort:

NullPointerException

Analyse:

Frage 1:

Das Folgende ist der Quellcode von „Autoboxing“ in der Integer-Klasse:

<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>
Nach dem Login kopieren

Der Wert von IntegerCache.low beträgt -128 und der Wert von IntegerCache.high beträgt 127. Mit anderen Worten, wenn die Ganzzahl automatisch eingerahmt wird und der Bereich des Ganzzahlwerts als zwischen [-128,127] beurteilt wird, wird der Wert im Ganzzahlkonstantenpool direkt verwendet, wenn er nicht in diesem Bereich liegt, eine neue Ganzzahl () wird erstellt. Daher liegen f1 und f2 in dieser Frage beide im Bereich [-128.127] und verwenden denselben Wert im Konstantenpool. Allerdings liegen f3 und f4 nicht im Bereich von [-128,127] und ihre Werte sind beide neu, sodass f3 und f4 nicht dasselbe Objekt sind.

Frage 2:

Der Standardwert von Integer i ist null. Wenn i == 0 ausgeführt wird, ist die rechte Seite des Gleichheitszeichens eine Zahl. Um Vergleichsoperationen durchzuführen, wird Integer automatisch entpackt (dh Integer wird in den Typ int konvertiert). Wenn Sie null auspacken (null in eine Zahl umwandeln), wird natürlich eine NullPointerException gemeldet.

Das obige ist der detaillierte Inhalt vonAnalyse von Beispielfragen zur Java-Programmierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage