break
用于退出某个语句块的执行,主要用于在不知道具体循环次数的时候,满足某个条件时退出该循环体 可应用于 while
、for
、do {...} while (...)
、switch
......
语法:
for (int i = 1; i <= 100; i++) { if (i == 3) { break; // 当 i 等于 3 时结束循环 } }
一般只使用 break
退出最近的循环体,当然也可以给循环体(嵌套循环体)定义标签 lable
然后再使用 break lableName
退出指定的循环标签
实例:
// 定义外层标签 名称随意 wrapper: for (int i = 1; i <= 100; i++) { // 定义内层标签 inner: for (int j = 1; j <= 2; j++) { // 在这里使用了标签,当 j = 2 时 会将外层循环结束,而不是结束内层循环 // 因为定义了标签,使用 break 退出指定标签的循环 break wrapper; } }
细节:
break
默认退出最近循环体三次登陆验证:
字符串的一致性比较:"字符串".equals(字符串)
用法:
String name = "User"; boolean result1 = "123".equals(name); // false boolean result2 = "User".equals(name); // true
// 导入 Scanner 包 import java.util.Scanner; public class LoginAuthentication { public static void main (String[] args) { // 新建 Scanner 对象 Scanner input = new Scanner(System.in); /* 用户名:User 密码 :Password */ String user_name = "User"; String password = "Password"; // 循环三次 for (int i = 2; i >= 0; i--) { // 让用户输入用户名 System.out.print("请输入用户名:"); String get_input_name = input.next(); // 让用户输入密码; System.out.print("请输入密码:"); String get_input_pwd = input.next(); // 判断用户密码是否准确 // 判断字符串是否一致 使用 "str".equals(var) if (user_name.equals(get_input_name) && password.equals(get_input_pwd)) { //用户名密码一致 System.out.println("登陆成功"); break; }else { System.out.println("用户名密码有误,你还有 " + i + " 次机会"); } } } }
continue
:跳过本次循环,继续执行代码
用法:
for (int i = 1; i <= 100; i++) { if (i % 2 == 0) { continue; // 如果是双数跳过本次循环,继续下一次循环 } System.out.println(i); }
continue
也可以使用标签,指定跳过哪一层循环
// 定义外层标签 名称随意 wrapper: for (int i = 1; i <= 100; i++) { // 定义内层标签 inner: for (int j = 1; j <= 4; j++) { if (j == 2) { // 在这里使用了标签,当 j = 2 时 count会跳过 外层的本次循环 直接执行 i++ 进入下一次循环 continue wrapper; } System.out.println(j); } }
return
:退出当前方法
只要执行了 return
就会直接退出当前方法,该方法后面的所有代码都不会执行
public class ReturnDetail { public static void main (String[] args) { System.out.println("我进入了 main 方法"); if (true) { return; } System.out.println("看看我还会不会执行"); System.out.println("试试把 return 注释再看看我还会不会执行"); } }