English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In Java, tutte le variabili devono essere dichiarate prima di essere utilizzate. Il formato di dichiarazione delle variabili di base è il seguente:
type identifier [ = value][, identifier [ = value] ...];
Spiegazione del formato: type è il tipo di dati Java. identifier è il nome della variabile. È possibile dichiarare più variabili dello stesso tipo separati da virgola.
Di seguito è riportato alcuni esempi di dichiarazione di variabili. Notare che alcuni includono il processo di inizializzazione.
int a, b, c; // Dichiarazione di tre interi: a, b, c int d = 3, e = 4, f = 5; // Dichiarazione di tre interi e assegnazione di valori iniziali byte z = 22; // Dichiarazione e inizializzazione di z String s = "w3codebox"; // Dichiarazione e inizializzazione della stringa s double pi = 3.14159; // Dichiarazione della variabile a precisione doppia pi char x = 'x'; // Dichiarazione della variabile x con il valore di carattere 'x'.
I tipi di variabile supportati dal linguaggio Java sono:
Variabile di classe: Variabile indipendente dal metodo, modificata con static.
Variabile d'esempio: Variabile indipendente dal metodo, ma senza il modificatore static.
Variabile locale: Variabile all'interno del metodo della classe.
public class Variable { static int allClicks = 0; // Variabile di classe String str = "hello world"; // Variabile d'istanza public void method() { int i = 0; // Variabile locale } }
Le variabili locali vengono dichiarate all'interno del metodo, costruttore o blocco di istruzioni;
Le variabili locali vengono create quando il metodo, il costruttore o il blocco di istruzioni viene eseguito, e vengono distrutte quando il loro esecuzione è completata;
Gli access modifier non possono essere utilizzati per le variabili locali;
Le variabili locali sono visibili solo nel metodo, costruttore o blocco di istruzioni in cui sono dichiarate;
Le variabili locali vengono allocate sulla pila.
Le variabili locali non hanno un valore predefinito, quindi devono essere inizializzate dopo la loro dichiarazione prima di poter essere utilizzate.
Nell'esempio seguente, age è una variabile locale. Definita nel metodo pupAge(), il suo dominio di visibilità è limitato a questo metodo.
package com.w3codebox.test; public class Test{ public void pupAge(){ int age = 0; age = age + 7; System.out.println("L'età del cucciolo è: " + age); } public static void main(String[] args){ Test test = new Test(); test.pupAge(); } }
Di seguito è riportato il risultato di compilazione e esecuzione degli esempi sopra:
L'età del cucciolo è: 7
Nell'esempio seguente, la variabile age non è stata inizializzata, quindi verrà generato un errore durante la compilazione:
package com.w3codebox.test; public class Test{ public void pupAge(){ int age; age = age + 7; System.out.println("L'età del cucciolo è: " + age); } public static void main(String[] args){ Test test = new Test(); test.pupAge(); } }
Di seguito è riportato il risultato di compilazione e esecuzione degli esempi sopra:
Test.java:4:variable number might not have been initialized age = age + 7; ^ 1 error
Le variabili di esempio vengono dichiarate all'interno di una classe, ma al di fuori dei metodi, costruttori e blocchi di istruzioni;
Dopo che un oggetto è stato esemplificato, il valore di ogni variabile di esempio è determinato;
Le variabili di esempio vengono create al momento della creazione dell'oggetto e distrutte quando l'oggetto viene distrutto;
Il valore delle variabili di esempio dovrebbe essere almeno referenziato da un metodo, un costruttore o un blocco di istruzioni, in modo che l'esterno possa ottenere informazioni sulle variabili di esempio tramite questi metodi;
Le variabili di esempio possono essere dichiarate prima o dopo il loro utilizzo;
Gli access modifier possono修饰 variabili di esempio;
Le variabili di esempio sono visibili per i metodi, i costruttori o i blocchi di istruzioni all'interno della classe. Di solito, le variabili di esempio dovrebbero essere impostate come private. Utilizzando l'access modifier, è possibile rendere le variabili di esempio visibili alle sottoclassi;
Le variabili di esempio hanno un valore predefinito. Il valore predefinito dei variabili numeriche è 0, il valore predefinito dei variabili booleane è false, il valore predefinito dei variabili di tipo riferimento è null. Il valore della variabile può essere specificato al momento della dichiarazione, o nel costruttore;
Le variabili di esempio possono essere accedute direttamente tramite il nome della variabile. Tuttavia, nei metodi statici e nelle altre classi, dovrebbe essere utilizzato il nome completamente qualificato: ObejectReference.VariableName.
import java.io.*; public class Employee{ // Questa variabile di istanza è visibile ai sottoclassi public String name; // Variabile privata, visibile solo in questa classe private double salary; // Assegna il valore di name nel costruttore public Employee(String empName){ name = empName; } // Imposta il valore di salary public void setSalary(double empSal){ salary = empSal; } // Stampa informazioni public void printEmp(){ System.out.println("Nome: " + name); System.out.println("Stipendio: " + salary); } public static void main(String[] args){ Employee empOne = new Employee("w3codebox"); empOne.setSalary(1000.0); empOne.printEmp(); } }
Di seguito è riportato il risultato di compilazione e esecuzione degli esempi sopra:
$ javac Employee.java $ java Employee Nome: w3codebox Stipendio: 1000.0
Le variabili di classe, anche conosciute come variabili statiche, sono dichiarate con la parola chiave static all'interno della classe, ma devono essere dichiarate al di fuori dei metodi.
Indipendentemente da quante istanze di una classe vengono create, la classe possiede solo una copia della variabile di classe.
Le variabili statiche, oltre a essere dichiarate come costanti, sono utilizzate raramente. Le costanti sono variabili dichiarate come public/private, final e static. Le costanti non possono essere modificate dopo l'inizializzazione.
Le variabili statiche sono memorizzate nell'area di archiviazione statica. Sono spesso dichiarate come costanti, e raramente utilizzate singolarmente con la dichiarazione static.
Le variabili statiche vengono create quando vengono accedute per la prima volta e distrutte alla fine del programma.
Ha una visibilità simile a quella delle variabili di esempio. Ma per rendere le variabili statiche visibili agli utenti della classe, la maggior parte delle variabili statiche viene dichiarata come tipo public.
Il valore predefinito è simile a quello delle variabili di esempio. Il valore predefinito dei variabili numeriche è 0, il valore predefinito dei variabili booleane è false, il valore predefinito dei variabili di tipo riferimento è null. Il valore della variabile può essere specificato al momento della dichiarazione o nel costruttore. Inoltre, le variabili statiche possono essere inizializzate in un blocco statico.
Le variabili statiche possono essere accedute tramite:ClassName.VariableNamemodo di accedere.
Le variabili di classe sono dichiarate come tipo public static final, il nome della variabile di classe di solito suggerisce l'uso di lettere maiuscole. Se le variabili statiche non sono di tipo public e final, il loro modo di denominazione è lo stesso delle variabili di esempio e delle variabili locali.
Esempio:
import java.io.*; public class Employee { // salary è una variabile privata statica private static double salary; // DEPARTMENT è una costante public static final String DEPARTMENT = "sviluppatori"; public static void main(String[] args){ salary = 10000; System.out.println(DEPARTMENT+"stipendio medio:"+salary); } }
Di seguito è riportato il risultato di compilazione e esecuzione degli esempi sopra:
Stipendio medio degli sviluppatori: 10000.0
Attenzione:Se altre classi desiderano accedere a questa variabile, possono farlo in questo modo:Employee.DEPARTMENT.
In questa sezione abbiamo imparato i tipi di variabile Java, nella prossima sezione esploreremo l'uso dei modificatori Java.