Saltar al contenido

¿Hay una instrucción goto en Java?

Te damos la bienvenida a nuestro sitio, en este sitio vas a encontrar la resolución de lo que estabas buscando.

Solución:

James Gosling creó la JVM original con el apoyo de goto declaraciones, pero luego eliminó esta característica como innecesaria. La razón principal goto es innecesario es que por lo general se puede reemplazar con declaraciones más legibles (como break/continue) o extrayendo un fragmento de código en un método.

Fuente: James Gosling, sesión de preguntas y respuestas

La lista de palabras clave de Java especifica la goto palabra clave, pero está marcada como “no utilizada”.

Estaba en la JVM original (ver la respuesta de @VitaliiFedorenko), pero luego se eliminó. Probablemente se mantuvo como una palabra clave reservada en caso de que se agregara a una versión posterior de Java.

Si goto no estaba en la lista, y se agrega al idioma más adelante, el código existente que usaba la palabra goto como un identificador (nombre de variable, nombre de método, etc…) se rompería. Pero porque goto es una palabra clave, dicho código ni siquiera se compilará en el presente, y sigue siendo posible hacer que realmente haga algo más adelante, sin romper el código existente.

La palabra clave existe, pero no está implementada.

La única buena razón para usar goto que se me ocurre es esta:

for (int i = 0; i < MAX_I; i++) 
    for (int j = 0; j < MAX_J; j++) 
        // do stuff
        goto outsideloops; // to break out of both loops
    

outsideloops:

En Java puedes hacer esto así:

loops:
for (int i = 0; i < MAX_I; i++) 
    for (int j = 0; j < MAX_J; j++) 
        // do stuff
        break loops;
    

Te mostramos comentarios y calificaciones

Si sostienes alguna suspicacia o forma de aclararse nuestro reseña puedes realizar un exégesis y con mucho placer lo ojearemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *