switch...case语句

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

变量作用域

  • 定义的一个变量,从定义的地方开始,到所在的代码块(大括号)结束。
  • 从定义开始,到结束,也就是说在一个变量的作用域内,不能定义重复的变量。
  • 出了作用域的变量将不能在使用

版权声明:本文为rq12345688原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。