2016-04-16 5 views

Antwort

1

Es gibt keinen wirklichen Unterschied, außer der Anzahl der verwendeten Zeilen. Es ist eine Frage des Stils und für solch einen einfachen Fall würde ich das erste Beispiel verwenden. Wenn der Code für nativen Code optimiert wurde, verschwindet die Variable var möglicherweise vollständig.

+0

Stimmen Sie mit Ihnen überein, wenn wir darüber sprechen, wie sich der Code verhält (es gibt keinen Unterschied beim Arbeiten). Aber ich interessiere mich für die Replikation des Codes in Compiler und/oder JVM .. zB: wenn die Variable zugewiesen wird, ist es Wert? zur Kompilierzeit oder zur Laufzeit? – IAmSurajBobade

+0

@Suraj-Zuweisung wird zur Laufzeit ausgeführt. Das einzige, was der Compiler tut, ist das Inlining von Konstanten, die zur Kompilierzeit bekannt sind. –

+0

Danke, Peter. Ich hatte missconception, dass, in der ersten Fallvariable wird sein Wert zur Kompilierzeit und im zweiten Fall zur Laufzeit ... – IAmSurajBobade

0

int var; // behält den Speicherort für einen int-Datentyp namens var

var = 10 // ordnet die ganze Zahl 10 zum oben genannten Standort

Sie diese separat oder in einem Schritt tun können, wie Sie demonstriert. Es gibt keinen Unterschied zum Compiler.

Ihre Syntax im ersten Beispiel führt beide Schritte zur gleichen Zeit durch, während Ihr zweites Beispiel die Schritte trennt.

-1
There is no at all difference between in both of the snippets mentioned other than number of lines taken to do declaration & initialization. 
    The compiler will treat both of the things in the same fashion. 
    Since initialization is been done before using the local variable in both the cases, there are no chances of error like 'Variable Not Initialized' or so. 
+0

Code ist in sich perfekt. In beiden Fällen liegt kein Fehler vor. Ich interessiere mich speziell für den Unterschied zwischen Compiler und JVMs Arbeit in demselben (was ich denke, dass es da ist). – IAmSurajBobade

Verwandte Themen