La diferencia entre las palabras clave Volver, Continuar y Romper

Prefacio:       

        Muchas personas pueden ser ambiguas sobre el papel de estas tres palabras clave cuando se usan en un ciclo, y este también es mi caso. Así que recopilé los datos y los practiqué yo mismo, ¡y llegué a las siguientes conclusiones! Discuta sus diferencias.

texto:

        1. Regresar : salte directamente del método actual, regrese a la declaración del método de la llamada y continúe con la ejecución;

        2.Continuar : finaliza este ciclo y pasa directamente al ciclo siguiente;

        3. Descanso : finaliza todo el proceso de circulación en el cuerpo de circulación.

práctica:

        El mismo punto: hay un ciclo for en el método, y la consola imprime el resultado cada vez, después de que finaliza el ciclo, el resultado se imprime en el cuerpo del método y el método regresa a la función principal después de la ejecución del método e imprime el resultado.

        La diferencia: escriba un juicio condicional en el ciclo for, por ejemplo, cuando i = 3, vea los resultados de impresión de las tres palabras clave

        Efecto: comparar los resultados y analizar la diferencia

prueba:

(1) función de prueba

/**
 * @author qingnianren
 * @context return、continue、break关键字区别
 */
public class KeywordDifference {

    public static void main(String[] args) {
        testReturn();
        testContinue();
        testBreak();

        System.out.println("======main 主函数======");
    }

    /**
     * return测试方法
     */
    private static void testReturn() {
        for (int i = 0; i < 5; i++) {

            if (i == 3) {
                return;
            }
            System.out.println("---return--------" + i);
        }
        System.out.println("===return====for循环体外");
    }

    /**
     * continue测试方法
     */
    private static void testContinue() {
        for (int i = 0; i < 5; i++) {

            if (i == 3) {
                continue;
            }
            System.out.println("---continue--------" + i);
        }
        System.out.println("===continue====for循环体外");
    }

    /**
     * break测试方法
     */
    private static void testBreak() {
        for (int i = 0; i < 5; i++) {

            if (i == 3) {
                break;
            }
            System.out.println("---break--------" + i);
        }
        System.out.println("===break====for循环体外");
    }
}

(2) Resultado de salida

Devolver palabra clave

---return--------0
---return--------1
---return--------2
======función principal principal== ====

Continuar palabra clave

---continuar--------0
---continuar--------1
---continuar--------2
---continuar------- -4
===continuar====bucle for fuera del cuerpo
======función principal principal ======

Romper palabra clave

---break--------0
---break--------1
---break--------2
===break====for loop outside el cuerpo
======función principal principal======

en conclusión:

        return: cuando i == 3, después de ejecutar return, no solo finaliza el bucle, sino que también finaliza el método y regresa directamente a la función principal, por lo que la función de return es finalizar la llamada del método.       

        continuar: Cuando i == 3, después de ejecutar continuar, el siguiente ---continuar-------3 no se imprime, pero el siguiente ciclo ---continuar-------4 aún se imprime, así que continuar solo termina este ciclo 

        break: cuando i == 3, después de ejecutar break, vaya directamente al exterior del bucle for, imprima ===break====fuera del bucle for, por lo que la función de break es finalizar el bucle

punto de anclaje:    

/**
 * @author qingnianren
 * @context out参数
 */
public class BreakOut {

    public User setUserName(String str) {
        User user = new User();
        user.setName("unknown");
        out:
        {
            if (str.equals("kyrie")) {
                user.setName("irving");
                break out;
            }
            if (str.equals("kevin")) {
                user.setName("durant");
                break out;
            }
        }
        return user;
    }
}

Supongo que te gusta

Origin blog.csdn.net/m0_60252632/article/details/125866473
Recomendado
Clasificación