In questo capitolo ci dedicheremo
all'argomento riguardante i cicli o istruzioni di iterazione, tramite questi costrutti è infatti
possibile eseguire ripetutamente (ciclicamente) determinati comportamenti. I cicli, quindi, consistono nella
ripetizione di determinati comandi per un determinato numero di occorrenze.
Il ciclo for è
certamente uno dei pių utilizzati dagli sviluppatori, non solo per le JSP, cominciamo la sua descrizione con un
semplice script:
<% int var, valore=100;%>
<%
for (var=0; var<100; var++)
{
out.println(valore = valore-1);
}
%>
Testando il codice appena proposto otterremo in
output la stampa di tutti i numeri dal 99 allo 0.
Il ciclo for si realizza attraverso una sintassi composta
dal costrutto for che deve essere seguito dalle istruzioni che definiscono il ciclo; seguono poi le istruzioni da
eseguire ciclicamente. Le tre istruzioni che seguono for, hanno ognuna una specifica
funzione:
- la prima (var=0) crea un valore iniziale, deve essere eseguita una sola volta all'inizio
del ciclo. Nell'esempio, con essa abbiamo assegnato il valore iniziale del nostro ciclo.
- la seconda
(var<100;) è una condizione di terminazione da valutare prima di ogni nuova iterazione, restituisce
FALSE quando il ciclo si interrompe. Nell'esempio, abbiamo stabilito come condizione che le cifre da stampare debbano
avere un valore inferiore a 100.
- la terza (var++) agisce incrementando o decrementando il valore assegnato nella
prima istruzione. Essa viene rieseguita ad ogni iterazione del ciclo fino a che la condizione di terminazione non
restituisce FALSE. Nell'esempio, il valore di "var" subisce un decremento unitario ad ogni
iterazione.
Il ciclo while, che svolge funzione simile a quella di un'istruzione if
ripetuta, ha costrutto sintattico abbastanza semplice: ad un ciclo while deve seguire una condizione da valutare e
il comportamento da ripetere; quando la condizione restituisce FALSE il ciclo si arresta. Ecco un
esempio:
<% int valore=0;%>
<%
while (valore<100)
{
out.println(valore = valore+1);
}
%>
Lo script proposto ha il semplice compito di visualizzare
in output tutti i numeri da 1 a 100; while viene quindi ripetuto per 100 occorrenze e, ad ogni ripetizione il valore
inizialmente settato a 0 subisce un incremento unitario; una volta assegnato il valore 100, la condizione prefissata
(valore<100) non potrà pių restituire TRUE e il ciclo si arresterà.
I lettori pių attenti,
avranno potuto osservare una caratteristica che accomuna for e while, infatti per entrambi se la condizione
proposta si dimostra falsa già ad inizio ciclo il flusso di iterazione si arresta ancora prima di cominciare. Tramite
il costrutto do while, invece, le istruzioni previste vengono eseguite almeno per una prima volta.
do
while possiede una sintassi simile a quella propria di while, vi è però la differenza che nel primo
la condizione è proposta alla fine e non all'inizio. Facciamo un esempio:
<% int
valore=0;%>
<%-- Esecuzione di un ciclo do while--%>
<%
do
{
out.println
(valore = valore--);
}
while (valore>0);
%>
Tramite il ciclo do while
visualizziamo in output la stampa della cifra 0, quindi, abbiamo comunque un risultato dovuto ad una singola iterazione;
ponendo la condizione dopo le istruzioni, infatti, il blocco di istruzioni viene in ogni caso eseguito almeno per una prima
volta.
La stringa:
<%-- Esecuzione di un ciclo do while--%>
inserita nel precedente
script è un commento, esso non viene visualizzato in output e non ha la funzione di produrre comportamenti,
serve invece allo sviluppatore per tenere traccia degli stati di avanzamento nella scrittura del codice. I commenti,
racchiusi tra i delimitatori "<%--" e "--%>", si rivelano particolarmente utili quando devono essere
realizzati scripts dai listati particolarmente complessi.
Attenzione: Gli articoli su
Tomcat presenti in questa sezione sono stati concessi in esclusiva per la pubblicazione a Mrwebmaster.it; ne è vietata la riproduzione, anche parziale,
senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it. |