2016-04-16 4 views

ответ

1

Нет никакой реальной разницы, кроме количества линий, которые вы использовали. Это вопрос стиля, и для такого простого случая я бы использовал первый пример.

Если код был оптимизирован для собственного кода, переменная var может полностью исчезнуть.

+0

Согласитесь с вами, когда мы говорим о том, как будет вести себя код (нет разницы в работе). Но меня интересует репликация кода в компиляторе и/или JVM .. например: когда переменной будет присвоено ее значение? во время компиляции или времени выполнения? – IAmSurajBobade

+0

Назначение @Suraj выполняется во время выполнения. Единственное, что делает компилятор, это вложение констант, известных во время компиляции. –

+0

Спасибо, Питер. У меня было missconseption, что в первом случае переменной будет присвоено это значение во время компиляции и во втором случае во время выполнения ... – IAmSurajBobade

0

int var; // резервирует место в памяти для типа INT данных с именем вар

вар = 10 // присваивает число 10 в вышеприведенном месте

Вы можете сделать это по отдельности или в один шаг, как вы продемонстрировали. Для компилятора нет никакой разницы.

Ваш синтаксис в первом примере выполняет оба действия одновременно, тогда как ваш второй пример разделяет этапы.

-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

Код идеален в себе. В обоих случаях нет ошибок. Меня особенно интересует различие между работой компилятора и JVM в том же (что, я думаю, есть). – IAmSurajBobade