switch...case语句

该博客探讨了如何使用Java中的switch...case语句实现用户登录和注册功能。示例代码展示了根据用户输入选择执行不同操作,包括验证用户名和密码,处理注册时的重复用户名和密码匹配。此外,还提到了变量作用域和if...else与switch...case的比较。
摘要由CSDN通过智能技术生成

switch。。。case

  • 语法

    switch(值){
        case1:
            匹配值1
        case2:
        	匹配值2
    }
    
  • 注意:

    • default:没有具体的值,除了其他的case都不匹配,则匹配default,用法同case
    • default位置一般推荐最后,其他位置也可以,注意要不要加break
    • break:跳出整个switch语句
    • case只要匹配上,则其他case不再进行匹配,直接顺序执行所有的代码。直到遇到break或者整个结束
    • 值类型int,byte,short,char,字符串,枚举enum

if。。else 和switch…case

  • if语句可以做等值判断,也可以做区间判断
  • switch语句只能做等值
  • 在做等值判断时两种可以互换

嵌套

  • 嵌套符合语法结构即可
    • if(){}
    • if(){}else{}
    • switch(){case:}
    • 以上结构固定
  • 嵌套考虑条件
import java.util.Scanner;
public class Regist {
	public static void main(String[]args) {
		Scanner input = new Scanner(System.in);
		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(choose) {
			case 1:
				System.out.println("输入用户名:");
				String name = input.next();//name 在switch中
				System.out.println("输入密码:");
				String pass = input.next();
				if (name.equals("张三")&&pass.equals("zhangsan")) {
					System.out.println("1.查看用户信息\n2.修改密码\n3.充值");
				} else {
					System.out.println("用户名或者密码错误,请重新登录");
				}
				break;
			case 2:
				System.out.println("输入用户名:");
				String name1 = input.next();
				System.out.println("输入密码:");
				String pass1 = input.next();
				System.out.println("请确认密码:");
				String pass2 = input.next();
				if (!name1.equals("张三")&&pass1.equals(pass2)) {
					System.out.println("注册成功,请登录");
				} else if(name1.equals("张三")){
					System.out.println("用户名重复");
				} else {
					System.out.println("密码不一致");
				}
				break;
			case 3:
				break;
			default:
				System.out.println("输入有误请输入1 ~ 3");
				return;
		}
	}
}

变量作用域

  • 定义的一个变量,从定义的地方开始,到所在的代码块(大括号)结束。
  • 从定义开始,到结束,也就是说在一个变量的作用域内,不能定义重复的变量。
  • 出了作用域的变量将不能在使用
枚举类可以在 `switch...case` 语句中使用。在 `switch` 后面的括号中,你需要提供一个枚举类型的变量或表达式。每个 `case` 分支需要指定一个枚举常量,并在后面跟上冒号。当 `switch` 语句执行时,它会将提供的枚举变量或表达式的值与每个 `case` 分支中指定的枚举常量的值进行比较,找到匹配的分支并执行其中的代码。 以下是一个简单的示例,演示了如何在 `switch...case` 语句中使用枚举类: ```java enum DayOfWeek { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } public class Example { public static void main(String[] args) { DayOfWeek day = DayOfWeek.MONDAY; switch (day) { case MONDAY: System.out.println("Today is Monday."); break; case TUESDAY: System.out.println("Today is Tuesday."); break; case WEDNESDAY: System.out.println("Today is Wednesday."); break; case THURSDAY: System.out.println("Today is Thursday."); break; case FRIDAY: System.out.println("Today is Friday."); break; case SATURDAY: System.out.println("Today is Saturday."); break; case SUNDAY: System.out.println("Today is Sunday."); break; default: System.out.println("Invalid day of week."); break; } } } ``` 在这个例子中,我们定义了一个枚举类 `DayOfWeek`,表示一周中的每一天。然后我们在 `main` 方法中创建了一个 `DayOfWeek` 类型的变量 `day`,并将其初始化为 `DayOfWeek.MONDAY`。接下来,我们使用 `switch...case` 语句来根据 `day` 的值输出一条消息,指示今天是哪一天。由于 `day` 的值为 `DayOfWeek.MONDAY`,因此 `switch` 语句将执行第一个 `case` 分支,并输出 "Today is Monday."。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值