While循环

循环结构

  • 多次重复同一操作
  • 问题:
    • 重复干什么
    • 重复多少次
  • 逻辑:条件成立则执行相应的代码,直到条件不成立
  • 分类:
    • 直到:一直执行,直到。。。退出
    • 当:当。。。则一直执行

while(){}

  • 语法结构
while(条件) {//判断条件成立与否
    //条件成立,则执行
}
  • 条件可以直接写true,如果条件一直成立,则为死循环,最简单的死循环
  • 死循环出现的问题:
    • 如果条件是true,且没有跳出语句,则后面不能有代码,否则编译不通过
    • 死循环导致内存溢出overflow
break:
  • 跳出switchcase结构
  • 跳出一层循环

do{}while()

  • 结构

    do {
        循环体
    } while(循环条件);
    
  • 与while循环区别

    • 如果条件恒成立,则没有区别
    • 如果条件恒不成立,则do。。while至少执行一次
import java.util.Scanner;
public class Regist {
	public static void main(String[]args) {
		Scanner input = new Scanner(System.in);
		//不让系统结束,直到输入3退出系统
		while(true) {
			//主页面代码
			System.out.println("欢迎来到个人博客!");
			System.out.println();
			System.out.println();
			System.out.println();
			System.out.println("1.已有账号,登录\n2.注册新账号\n3.退出系统");
			System.out.println("请选择:");
			int choose = input.nextInt();
			//判断选择的操作是哪个,用等值的switch
			switch(choose) {
				//选择登录,登录可能多次
				case 1:
					while(true){//一次登录不成功,多次登录,加循环
						System.out.println("输入用户名:");
						String name = input.next();//name 在switch中
						System.out.println("输入密码:");
						String pass = input.next();
						//判断登录成功,则break退出循环
						if (name.equals("张三")&&pass.equals("zhangsan")) {
							System.out.println("1.查看用户信息\n2.修改密码\n3.充值");
							break;
						} else {//否则登录不成功,提示后继续循环
						 System.out.println("用户名或者密码错误,请重新登录");
						}
					}
					//退出循环后用break结束switch,外面有循环,所以在主页面没有结束系统
					break;
			case 2:
				//注册同登录,需要未知次主次,加循环
				while(true) {
					System.out.println("输入用户名:");
					String name1 = input.next();
					System.out.println("输入密码:");
					String pass1 = input.next();
					System.out.println("请确认密码:");
					String pass2 = input.next();
					//判断如果注册成功,则利用break跳出循环
					if (!name1.equals("张三")&&pass1.equals(pass2)) {
						System.out.println("注册成功,请登录");
						break;
					} else if(name1.equals("张三")){
						//否则提示用户名重复,继续循环
						System.out.println("用户名重复");
					} else {
						//提示密码不一致,继续循环
						System.out.println("密码不一致");
					}
				}
				//循环结束后利用break,结束switch
				break;
			case 3:
				//利用return结束main方法,结束系统
				return;
			default:
				//提示输入错误,外面有循环,继续循环,在主页面
				System.out.println("输入有误请输入1 ~ 3");
			}
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值