Spesso è necessario utilizzare variabili aggiuntive che verranno utilizzate solo nella subroutine. Tali variabili sono chiamate local (o local) e possono essere manipolate solo all'interno della subroutine in cui sono create.
L'ambito della variabile locale è il blocco tra parentesi graffe all'interno del quale è dichiarato
Il programma principale in Java è anche una subroutine, quindi tutte le variabili dichiarate all'interno di
main()
sono variabili locali
Altre subroutine non "sanno" nulla delle variabili locali di altre subroutine.
Pertanto, è possibile limitare l'ambito (ambito) di una variabile solo alla subroutine in cui è realmente necessario. In programmazione, questa tecnica è chiamata
incapsulamento - nascondere una variabile dall'essere modificata dall'esterno.
Se è necessario dichiarare una variabile che sarebbe visibile in qualsiasi punto del programma (in qualsiasi subroutine), tali variabili vengono dichiarate al di fuori di tutte le subroutine (vedere il programma 3 dalla tabella sottostante)
Tali variabili sono chiamate
global.
In Java, all'avvio del programma, tutte le variabili globali vengono automaticamente impostate a zero (le variabili booleane diventano false)
Analizza tre programmi:
1) In questo programma, la variabile i è locale. Una variabile locale è dichiarata all'interno di una subroutine |
2) Qui, anche se c'è una variabile i nel programma principale (con valore 7), verrà creata una nuova variabile locale i con valore 5.
Quando esegui questo programma, lo schermo visualizzerà il valore 75 |
3) Questo programma ha una variabile globale i. Il suo valore può essere modificato all'interno di una subroutine e all'interno del programma principale
La procedura funzionerà con la variabile globale i e le verrà assegnato un nuovo valore pari a 2. Il valore 2 | viene visualizzato sullo schermo
test del vuoto statico()
{
int io = 5;
System.out.println(i);
}
|
test del vuoto statico()
{
int io = 5;
System.out.println(i);
}
public static void main(String[] args) {
{
int io = 7;
System.out.println(i);
test();
}
|
classe pubblica Principale {
int io;
test del vuoto statico()
{
io = 2;
}
public static void main(String[] args) {
{
test();
System.out.println(i);
}
|