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;
}
}