Newsgroup: it.comp.java
Titolo: istruzione break [teoria]

La posso usare in un if?
E precisamente?
Mi uscirebbe solo dall'if, oppure da tutta la mia
funzione?
--
--
Ciao
                                        Roche
               - The Mannix -
la solita minestra punk?
Clicca quì sotto:
 
http://stage.vitaminic.it/the_mannix/

break (e continue) è (dovrebbe essere) legata ai cicli qundi se if è
dentro un ciclo salti fuori dal ciclo (poi ci sarebbe il discorso delle
etichette) altrimenti credo non abbia effettoma non ho mai provato...
ciao
MArco

-- 
         \\|//
        ( @ @ )
+----oOO--(_)--OOo----------[Dott. Marco Azzalini]-------------------+
|                                                                    |
|              Consulente Sviluppo Software & Networking             |
|               Sun Certified Programmer (Java 2 Platf.)             |
|                                                                    |
|  cell:03289250281  -  e-mail: 
marco.a...@libero.it
             |
|  Web: 
http://utenti.tripod.it/Marco_Azzalini
 - Spedia Code: 459755 |
+--------------------------------------------------------------------+
|Legge di Hofstadter:                                                |
|         ci vuole sempre piu' tempo di quanto si pensi,             |
|         anche tenendo conto della Legge di Hofstadter.             |
+--------------------------------------------------------------------+


ciao
Un break all'interno di un if non ha alcun effetto. JBuilder genera
addirittura un errore in compilazione.
Se sei all'interno di un loop (for, while o repeat che sia), l'effetto
e' di uscire solo dal ciclo, non dalla funzione.
Ciao
Marcello


wrote:



Penso che potresti vincere il premio per la domanda + oringale dell'anno.
Cmq penso che nessuno si sia mai messo a provare una cosa simile.
Senza mettermi a provare mi sembra che il break serva solo per uscire da un
livello di indentazione,  quindi è molto probabile che tu possa riuscire nei
tuoi intenti
if (....)
{
...
break;
...
}
<---- ti porta qui

 <---- ti porta qui
No, materialmente impossibile.
Altrimenti un codice come
while(1)
{
    // ...
    if(pippo)
        break;
}
Non uscirebbe dal while, ma solo dall'if interno ;-)
Massimo

Questo funziona e il compilatore del jdk lo accetta
Io ho provato a fare una prova tipo la tua e il compilatore mi ha dato
un  errore ("break must be in loop or switch"), utilizzo JDK 1.1.8.
A parte che il break è preferibile non usarlo perchè spezza
l'esecuzione e quindi ha un comportamento simile al goto, in molti
casi si può fare a meno di utilizzarlo strutturando meglio la
condizione di controllo.
Se il break interrompesse l'if allora non interromperebbe il cilclo e
quindi prenderebbe tutta la sua utilità.
-- remove "UN.NECESSARY" from the address to reply
msg 100% recyclable.

>===== Original Message From 
ms...@UN.NECESSARY.softhome.net
 =====

Salve,
il problema e' tutto nel fatto che il costrutto if non e' un ciclo (infatti 
il 
blocco della if viene eseguito una sola volta), ma un'istruzione 
condizionale.
Quindi, se la if non si trova all'interno di nessun ciclo, non si puo' 
scrivere:
if (!trovato)
  break;
...e il compilatore da' errore in questo caso.
Invece, se l'istruzione if si trova all'interno di un ciclo, e valido 
scrivere, ad esempio:
while(true) {
  ...
  if (!trovato)
    break;
  ...
}
ma l'effetto non e' quello di uscire dal blocco della if, bensi' di uscire 
dal 
blocco del ciclo (in questo caso while).
Un saluto
Lucio Benfante
Brainbench MVP for Java 1
http://www.brainbench.com
------------------------------------------------------------
Lucio Benfante
benf...@MailandNews.com
------------------------------------------------------------

grazie
