038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结

本文知识点:案例演示switch结构并对switch结构进行总结

案例演示switch结构

程序代码:

下图中的代码没有格式缩进,如何解决?

在eclipse的代码编辑区,右击,source→format

代码就完成格式缩进了,看起来清爽很多

执行程序,会发现有问题:

发现输入4,包括周四之后的所有语句都输出了。

原因何在?

答案很简单,没有添加break语句。

那解决办法也很简单,在case4的输出语句后添加上break,再测试,输入4,此时发现,程序只输出了周四,之后就结束了,再没有输出其他case4之后的语句。break的作用就在于此。

所以,我们该给每个case之后都添加上break语句。

  1. public static void main(String[] args) {
  2. System.out.println("请输入数字1-7,表示周一到周天");
  3. Scanner sc = new Scanner(System.in);
  4. int n = sc.nextInt();
  5. switch (n) {
  6. case 1:
  7. System.out.println("周一");
  8. break;
  9. case 2:
  10. System.out.println("周二");
  11. break;
  12. case 3:
  13. System.out.println("周三");
  14. break;
  15. case 4:
  16. System.out.println("周四");
  17. break;
  18. case 5:
  19. System.out.println("周五");
  20. break;
  21. case 6:
  22. System.out.println("周六");
  23. break;
  24. case 7:
  25. System.out.println("周天主日,分别为圣的日子,敬拜上帝");
  26. break;
  27. default:
  28. System.out.println("输入的数据超出了1-7的范围!");
  29. }
  30. }

程序执行结果没有问题。

如果输入的不是整型会如何?

如果输入的数据不是要求的整型(n初始化的时候是int类型),则产生输入不匹配异常:InputMismatchException

改写程序——不用整数匹配,而改用字符串进行switch表达式与case常量的匹配

改写程序的代码及其运行结果:

  1. public static void main(String[] args) {
  2. System.out.println("请输入表示星期的英文单词,表示周一到周天");
  3. Scanner sc = new Scanner(System.in);
  4. String week = sc.next();
  5. switch (week) {
  6. case "MONDAY":
  7. System.out.println("周一");
  8. break;
  9. case "TUESDAY":
  10. System.out.println("周二");
  11. break;
  12. case "WEDNESDAY":
  13. System.out.println("周三");
  14. break;
  15. case "THURSDAY":
  16. System.out.println("周四");
  17. break;
  18. case "FRIDAY":
  19. System.out.println("周五");
  20. break;
  21. case "SATURDAY":
  22. System.out.println("周六");
  23. break;
  24. case "SUNDAY":
  25. System.out.println("周天主日,分别为圣的日子,敬拜上帝");
  26. break;
  27. default:
  28. System.out.println("单词输入错误!");
  29. }
  30. }

注意:字符串类型的匹配注意要区分大小写

单词全部大写输入正确无误后,程序执行结果无误。

如何随便输入,都能保证是大写?

添加一行代码:

  1. week = week.toUpperCase(); //把字符串中的字符全部改为大写

添加这行代码后,运行程序,发现即使输入小写,也完全没有问题



插一句,改为大写字母的代码为什么可以这样写?

  1. String week = sc.next();
  2. week = week.toUpperCase();  //把字符串中的字符全部改为大写

因为String 本身是类,week是类对象,对象通过对象名.方法名的形式调用方法。

这一点,目前不必深究,后面学到面向对象会详细讲解。

038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结的更多相关文章

  1. # 095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 03 封装总结 01 封装知识点总结

    095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  2. 094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 04 static关键字(续)

    094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  3. 093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 03 static关键字(下)

    093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  4. 092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

    092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  5. 091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 01 static关键字(上)

    091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  6. 090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 04 使用包进行类管理(2)——导入包

    090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  7. 089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 使用包进行类管理(1)——创建包

    089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  8. 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现

    088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...

  9. 087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点

    087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点 本文知识点:封装的概念和特点 说明:因为时间紧张,本人写博客过程中只是对 ...

随机推荐

  1. Update LateUpdae FixedUpdate

    这个问题本来是在研究动画系统时遇到的:OnAnimatorMove在Animator.Update()调用,那这个Animator.Update是什么时候调用的呢. Animator Componen ...

  2. 在C++/CLI环境下,千万不要把普通全局函数当标准C/C++的函数指针传递给native的库使用

    先上一个简单代码: #include <cstdlib> #include <cstdio> // native apis extern "C" { typ ...

  3. 在Windows和MacOS下编译Lua

    官方说明: http://www.lua.org/manual/5.3/readme.html 在Windows下编译Lua动态链接库的注意事项: 1. 创建一个空的DLL项目: 2. 将src文件夹 ...

  4. Python 中的数字到底是什么?

    花下猫语:在 Python 中,不同类型的数字可以直接做算术运算,并不需要作显式的类型转换.但是,它的"隐式类型转换"可能跟其它语言不同,因为 Python 中的数字是一种特殊的对 ...

  5. [WUST-CTF]Web WriteUp

    周末放假忙里偷闲打了两场比赛,其中一场就是武汉科技大学的WUST-CTF新生赛,虽说是新生赛,题目质量还是相当不错的.最后有幸拿了总排第5,记录一下Web的题解. checkin 进入题目询问题目作者 ...

  6. Layui + tp3.2 配合表格搜索

    html 部分 <!--搜索--><fieldset class="layui-elem-field layui-field-title" style=" ...

  7. leetcode刷题-77组合

    题目 给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合. 示例: 输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3 ...

  8. 理解Spring AOP的实现方式与思想

    Spring AOP简介 如果说IOC是Spring的核心,那么面向切面编程就是Spring最核心的功能之一了,在数据库事务中,面向切面编程被广泛应用. AOP能够将那些与业务无关,却为业务模块所共同 ...

  9. oracle之三 自动任务调度

    Oracle 自动任务调度 13.1 Oracle任务调度概述 在Oracle中任务调度指某一(组)执行程序在特定的时间被周期性的执行.Oracle把任务调度称为job(作业). Advanced S ...

  10. [Liunx]apt-get安装软件:依赖冲突问题及解决

    正常使用apt-get install安装出现依赖冲突问题: 大概是这样: ga@ubuntu:$ sudo apt-get install gcc-5-base:i386 正在读取软件包列表... ...