switch 选择结构:

为什么使用switch选择结构:

switch选择结构可以更好地解决等值判断问题。

switch选择结构的四个关键字:

switch    case    default    break

switch选择结构语法:

switch (key) {
case value: break;
case value: break;
case value: break;
default: break;
}
根据key去匹配value的值,如果value的值跟key相同则走case块中的代码,然后执行完毕后结束,如果所有case块都不匹配则会走default
如果想让case块执行完毕后跳出选择结构则在case块结尾处添加break

案例:

/*

韩嫣参加计算机编程大赛
如果获得第一名,将参加麻省理工大学组织的1个月夏令营
如果获得第二名,将奖励惠普笔记本电脑一部
如果获得第三名,将奖励移动硬盘一个
否则,不给任何奖励 */
public class Demo01 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入名次:");
char count = input.next().charAt();
/*
*
* 韩嫣参加计算机编程大赛 如果获得第一名,将参加麻省理工大学组织的1个月夏令营 如果获得第二名,将奖励惠普笔记本电脑一部
* 如果获得第三名,将奖励移动硬盘一个 否则,不给任何奖励
*/
switch (count) {
case '一':
System.out.println("参加麻省理工大学组织的1个月夏令营 ");
break;
case '二':
System.out.println("奖励惠普笔记本电脑一部");
break;
case '三':
System.out.println("奖励移动硬盘一个");
break;
default:
System.out.println("没有奖励!");
break;
}
}
}

2.注意问题:

1.case后面的常量必须各不相同
2.如果需要每个case执行完后跳出,在每个case后不要忘记写break;
3.default块顺序可以变动,但要注意其执行顺序。通常,default块放在末尾,也可以省略

3.多重if选择结构和switch比对

相同点:
都是用来处理多分支条件的结构

不同点:
switch选择结构
只能处理等值条件判断的情况

多重if选择结构
没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况

4.总结选择结构:
if选择结构
基本if选择结构: 处理单一或组合条件的情况
if-else选择结构:处理简单的条件分支情况
多重if选择结构:处理复杂的条件分支情况
嵌套if选择结构:用于较为复杂的流程控制

switch选择结构
多重分支并且条件判断是等值判断的情况

public class Demo02 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("欢迎光临我行我素管理系统");
System.out.println("\t\t1.登录系统");
System.out.println("\t\t2.退出");
System.out.println("请选择:"); if(input.hasNextInt())
{
int number=input.nextInt();
switch (number) {
case :
System.out.println("欢迎登录系统!!");
break;
case :
System.out.println("您退出了系统!!");
break;
default:
System.out.println("没有输入选项");
break;
} }else{
System.out.println("请输入正确的数字:");
}
}
}

最新文章

  1. python 新旧类的问题
  2. html基础 样式
  3. [Appium] 使用Appium过程中遇到的各种坑
  4. PHP IDE phpstorm 常用快捷键
  5. python False
  6. Ubuntu 14.04怎样升级到Ubuntu 14.10
  7. Darwin Streaming Server用vs2005编译运行过程
  8. Java编程最差代码
  9. ListBox重绘
  10. 【转】MFC下拉列表框的用法
  11. Robert Penner's Easing Functions
  12. JVM启动过程——JVM之一
  13. 使用JDBC对数据库实现批处理操作
  14. nodejs querystring
  15. JAVA提高一:静态导入、可变参数、增强型for循环、装拆箱
  16. AngularJS1.X学习笔记11-服务
  17. jenkins+supervisor实现django项目的自动部署(ubuntu)
  18. XSS 与 CSRF 跨站攻击
  19. shell的命令替换和命令组合
  20. 【数学建模】day08-数理统计III

热门文章

  1. Codeforces_828
  2. python之面向对象01
  3. Kittenblock画笔基础,移动留下痕迹的蝴蝶,图形化编程经验分享
  4. WampServer 更换 mysql
  5. abp(net core)+easyui+efcore实现仓储管理系统——入库管理之一(三十七)
  6. FTP - File Transfer Protocol
  7. How to Convert a Class File to a Java File?
  8. 关于开源,Git,Github
  9. 由lwip的mbox中netbuf传递看指针的指针
  10. [Linux]命令返回值以及错误对照表