¿Alguno cualquier explique esta instrucción para mí: para (;;)Java: ¿Qué es "para (;;)"
que he encontrado varios tipos de estos marca (al igual que en el código de Facebook y ajax en materia concurrente de Java).
¿Alguno cualquier explique esta instrucción para mí: para (;;)Java: ¿Qué es "para (;;)"
que he encontrado varios tipos de estos marca (al igual que en el código de Facebook y ajax en materia concurrente de Java).
Un bucle infinito.
Cada una de las tres partes de un bucle for (for(x; y; z)
) es opcional.
Así que usted puede hacer esto:
int i = 0;
for (; i < 20; ++i)
y es perfectamente válido, o
for (int i = 0; i < 20;) { ++i; }
o
for (int i = 0; ; ++i) { if (i < 20) { break; } }
y todas son válidas.
También puede omitir las tres partes, con for(;;)
. Entonces usted tiene un bucle que:
por lo que básicamente un bucle sin fin. Simplemente hace lo que dice en el cuerpo del bucle, una y otra vez
consulte la especificación del lenguaje Java §14.14.1.2 http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.14.1.2 como referencia: "Si el _expresión_ no está presente, o se está presente y el valor resultante de la evaluación (incluyendo cualquier posible unboxing) es 'true', entonces el contenido * * Declaración se ejecuta." –
Esta respuesta demuestra más o menos la grandeza de la 'política ninguna pregunta es demasiado simple'. :) –
Es un bucle sin fin. Para la especificación de la declaración for
, vea here.
Eso es un bucle infinito, similar a
while(true)
{
...
}
Su un bucle infinito, ya que la condición de salida (inexistente) nunca será falsa.
Cualquier bucle sin una condición de salida será infinito:
for (int x=0; ; x++) { }
Exactamente lo mismo que while (true)
, aunque mi humilde opinión un poco menos legible.
De hecho, es un bucle infinito. Pero en Java, realmente debería preferir while (true)
sobre for (;;)
, ya que es más legible (que probablemente ya sepa). El compilador lo optimizará de todos modos. En JavaScript no hay forma de compilar y cada byte en los conteos de HTTP, esa es la razón por la que se prefiere for (;;)
. Guarda algunos caracteres (bytes).
1 para facilitar la lectura del 'while (true)' ' – whiskeysierra
encuentro para (;;)' para ser más legible. – jalf
La sintaxis de un bucle for es
for (init-stmt; condition; next-stmt) {
}
Por lo tanto, es simplemente un bucle sin declaración inicial, próximo estado o condición. La ausencia de la condición de salida lo hace infinito.
#define EVER ;; para (SIEMPRE) // ... – Andrew