switch选择结构的作用
指定一个表达式,根据表达式的值选择执行不同的代码。
switch选择结构的基本语法
switch (表达式) {
case 常量1:
//表达式的值为常量1时执行的代码;
break;
case 常量2:
//表达式的值为常量2时执行的代码;
break;
default:
//表达式的值为其他时执行的代码;
break;
}
switch
关键字后面写表达式,case
关键字用来判断表达式的值和本行中定义的常量值是否相同,相同则执行此case
中的代码,不同则继续跳到下一个case
关键字做判断。如果所有定义的常量值都不匹配则会执行default
中的代码。代码执行完成后需要执行break
退出本层级switch选择结构,否则会运行到其他case
中的代码,无论值是否匹配!
switch选择结构使用示例
以下是一个简单的switch选择结构,判断用户输入不同数字而运行不同代码:
Scanner scanner = new Scanner(System.in);
//创建Scanner对象,用于接收用户输入
System.out.println("请输入一个整数:");
int num = scanner.nextInt();
//接收用户输入的整数并写入变量num
switch (num) {
case 1:
System.out.println("输入了1");
break;
case 2:
System.out.println("输入了2");
break;
case 3:
System.out.println("输入了3");
break;
default:
System.out.println("输入了其他数字");
break;
}
运行测试:



当然switch选择结构不只能判断整数,也可以判断小数,字符,字符串等,下面是判断字符串的选择结构示例:
Scanner scanner = new Scanner(System.in);
System.out.println("请输入文字:");
String str = scanner.next();
switch (str) {
case "a":
System.out.println("输入了a");
break;
case "b":
System.out.println("输入了b");
break;
case "c":
System.out.println("输入了c");
break;
default:
System.out.println("输入了其他文字");
break;
}
注意switch关键字后条件的数据类型需要和case关键字后值的数据类型相同!示例中声明的变量str为String(字符串)类型,case后的值(”a”,”b”等)也要为String类型,需要使用双引号包裹!
break关键字的作用以及注意事项
break
关键字表示退出本层级代码,在switch选择结构中作用即为退出所在的switch选择结构,让代码继续往下运行。
如果不写break
关键字,代码会无视后面的case
关键字判断,依次运行后面所有case
中的代码,直到遇到break
关键字才会结束此switch选择结构,下面举例演示。
Scanner scanner = new Scanner(System.in);
//创建Scanner对象,用于接收用户输入
System.out.println("请输入一个整数:");
int num = scanner.nextInt();
//接收用户输入的整数并写入变量num
switch (num) {
case 1:
System.out.println("输入了1");
//此处没有break关键字
case 2:
System.out.println("输入了2");
break;
case 3:
System.out.println("输入了3");
break;
default:
System.out.println("输入了其他数字");
break;
}
将刚才示例代码中case 1
中的break;
删除
运行测试:

可以看到输入数字1后依次执行了case 1
和case 2
中的代码,由于执行完case 1
中的代码后没有退出switch选择结构,导致忽略了后面case 2
的判断条件,直接运行了case 2
中的代码,直到遇到下一个break
才停止。如果删除所有break
关键字,那么会依次运行所有case
中的代码,此switch选择结构将无意义。
© 版权声明
THE END
暂无评论内容