2016-02-04 13 views
6

ci sono un sacco di opzioni disponibili per il ciclo infinito, ma questo sono per lo più utilizzare while(true) or for(;;)Java: loop infinito

So while(true) è l'opzione migliore, poiché è più facile da capire.

Ma voglio usare for(;;).

Voglio sapere che cosa sta succedendo all'interno di for loop quando ho usato due loop ; all'interno di.

for(;;)

virgola significa che la sua istruzione vuota. Ma come funziona quando usiamo all'interno di for loop per un'esecuzione infinita?

+2

Non conosco la risposta a questa domanda. Ma so come rispondere. Compilerei un semplice programma java usando il costrutto e poi lo esaminerò con un decompilatore come javap. Non sarei sorpreso se 'while (true)' e 'for (;;)' generi lo stesso codice byte. Anch'io non sarei sorpreso se fossero diversi. – emory

+0

@Shiladittya per favore considera di accettare la mia risposta se ha risolto la tua domanda. In caso contrario, sarei felice di elaborare ulteriormente – Idos

risposta

3

Questo è ciò accade:

for (initialization statement; condition check; increment/decrement) 
    // loop body; 

Con for(;;):

  • Non c'è inizializzazione.
  • Nessun controllo condizione.
  • Nessun incremento/decremento.

Pertanto verrà eseguito per sempre, proprio come while(true).