You are on page 1of 2

Simulazione 1

import javax.swing.*; class Quadrato { //Dichiarazione variabili di classe private static double lato; private static double area; //Sottoprogramma che calcola l'area public static void calcolaArea() { area= Math.pow(lato,2); } //Programma principale public static void main(String[] args) { //Acquisizione input lato = Double.parseDouble(JoptionPane.showInputDialog (Immettere la misura del lato)); //Calcolo area calcolaArea(); //Output JoptionPane.showMessageDialog(null,Area = +area); } }

Istruzione 1

Istruzione 2

Istruzione 3 Istruzione 4

Supponiamo che il lato del quadrato sia pari a 2; in output dovremo ottenere 4. Per prima cosa bene puntualizzare che i due metodi (calcolaArea e main) vengono eseguiti in ambienti separati: ogni metodo ha in memoria uno spazio riservato contenente le sue variabili, al quale ogni altro metodo non pu accedere. Di conseguenza, tutti i dati dichiarati dentro ad un metodo non sono accessibili dagli altri. Le variabili static, invece, sono allocate in un ambiente accessibile da tutti i metodi della classe; qualsiasi metodo, definito allinterno della classe, pu fare riferimento ad esse sia in lettura che in scrittura. Prima dellesecuzione della prima istruzione del main, in memoria avremo una situazione simile alla seguente: Ambiente della classe Quadrato lato area Ambiente del metodo Ambiente del metodo main calcolaArea nessuna variabile allocata nessuna variabile allocata

Lesecuzione inizia dallistruzione 2.


Autore: Cinzia Bocchi Ultimo aggiornamento: 08/08/11

Esecuzione dellistruzione 2 Lutente inserisce la misura del lato e questa viene salvata in memoria nella variabile lato. Ambiente della classe Quadrato lato 2 area Ambiente del metodo Ambiente del metodo main calcolaArea nessuna variabile allocata nessuna variabile allocata

Esecuzione dellistruzione 3 Viene chiamato il metodo calcolaArea. Il controllo passa al chiamato e viene eseguita la prima istruzione del metodo, cio listruzione 1. Esecuzione dellistruzione 1 Viene calcolato il quadrato di lato, ottenendo come risultato 4. Il valore risultante viene poi memorizzato nella variabile area. Ambiente della classe Quadrato lato 2 area 4 Ambiente del metodo Ambiente del metodo main calcolaArea nessuna variabile allocata nessuna variabile allocata

Il metodo termina e il controllo ritorna al chiamante, al punto in cui ci si trovava al momento della chiamata a calcolaArea. Esecuzione dellistruzione 4 Il valore dellarea viene restituito in output allutente e il metodo main termina. Tutte le risorse allocate vengono rilasciate.

Quest'opera stata rilasciata con licenza Creative Commons Attribution-ShareAlike 3.0 Unported. Per leggere una copia della licenza visita il sito web http://creativecommons.org/licenses/by-sa/3.0/ o spedisci una lettera a Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

Autore: Cinzia Bocchi Ultimo aggiornamento: 08/08/11