Domanda:
JAVA DUBBI DICHIARAZIONI VARIABILI?
?
2013-06-10 06:29:12 UTC
Scrivere int a; e poi sotto a=5; o scrivere solo int =5 e' la stessa cosa??
Scrivere boolean a; e poi sotto a=false.. Oppure solo boolean a=false;
È' la stessa cosa? Vale per tutte le variabili? Mi date motivazioni??
10 punti al più chiaro e dettagliato
Tre risposte:
BluNotte
2013-06-10 14:02:48 UTC
è quasi la stessa cosa, ma è lievemente diverso. Se non inizializzi immediatamente la variabile, questa viene inizializzata al suo valore di default.

int a; a = 5;

equivale a

int a = 0; a = 5;

quindi stai facendo due assegnazioni, di fatto, mentre

int a = 5;

è una sola assegnazione.



Nei fatti, l'ambiente java effettua comunque un ciclo di ottimizzazione, in cui elimina i valori morti.

Quindi, anche se scrivi

int a; a = 5;

alla fine in fase di esecuzione il codice viene trasformato in

int a = 5;

perché Java riesce a capire che l'assegnamento a 0 è superfluo.



Questo vale per tutte le variabili.

I tipi primitivi numerici vengono inizializzati a 0, i boolean a false, gli oggetti vengono inizializzati a null.
RootkitNeo
2013-06-10 14:42:25 UTC
Ciao,



adriano ha commesso alcuni errori, anche se non è completamente errato.



Se dichiari la variabile nei campi di istanza non è necessario inizializzarla. Questo perchè Java assegnerà alla stessa un valore di default (varia in base al tipo di variabile; per int è 0, per un oggetto è null ad esempio).



Se la dichiari un un blocco di codice, come un metodo, o un for/while/if, questa deve essere inizializzata per forza.



Quindi per rispondere alla tua domanda, scrivere:



int a = 5;



e



int a;

a = 5;



è la stessa cosa dal punto di vista del programmatore. Ricorda appunto che nei blocchi di codice sei costretto ad inizializzarle prima di usarle.



EDIT:

Con l'ultima frase ("dal punto di vista del programmatore è uguale") mi riferivo proprio a quanto scritto da BluNotte.
?
2013-06-10 13:43:11 UTC
In java puoi dichiarare ed inizializzare le variabili allo stesso tempo.

Questo significa che puoi scrivere

"double W

W=3,14"



oppure "double W=3,14"

Inoltre java ti dà lopportunità di utilizzare metodi ricorsivi del tipo

"X=10

X=X+1"

che sta a significare che X=11 senza utilizzare variabili di appoggio com in C ad esempio.

L'unica cosa che DEVI RICORDARE è che java vuole la dichiarazione delle variabili all'interno di una classe, altrimenti ti genera un errore.


Questo contenuto è stato originariamente pubblicato su Y! Answers, un sito di domande e risposte chiuso nel 2021.
Loading...