本帖最后由 XiangZi_ 于 2020-4-16 00:44 编辑


今日事件

  • 套娃程序结束了?不还没有,switch它来了!
  • 感谢@可爱的meow 提供的IDEA小知识,后面会具体跟你们讲
  • 感谢@爱心魔王FHC 推荐的换行大括号,已在日后逐渐开始使用(确实括号显著!)
  • 在极光creeper帖中回复的【点击传送个人观点!
  • 日记满30篇了!实际上用了一个多月...发点锭庆祝一下吧~毕竟我还要攒金锭勋章




灌水警告

类同灌水回复

楼主好棒呀~
膜拜,加油
完全看不懂系列
MCBBS有你更精彩
66666666
加油!
发错帖子了,去编程开发板块发吧

使用以上回复均为灌水处理



日记说明

  • 本人持续更新日记并不是编程教学!所以请勿将本系列帖子当做开发教学等
  • 本帖只适用于参考借鉴,不存在任何专业教程,如需教程请至编程开发板块!
  • 请勿在楼层中回复,教学真棒,膜拜
  • 有大佬在本楼层中回复学习中需要注意的事项,我会给予评分+置顶处理
  • 本系列帖为版主管理方便,特此制定有关灌水规则
  • 凡是回复以上内容,均作为灌水处理!

以后每篇帖子中都会出现本版块,如有更新按照最新帖子的更新为主
在索引贴中也会加入并持续更新!

—— 2020.4.13 祥子

如有遗漏项目请私信本人,我会及时补充并给予人气金粒奖励

今日知识

  • 关于switch语句
  1. *          1、switch语句也属于选择结构,也是分支语句
  2. *
  3. *          2、switch语句的语法结构:
  4. *
  5. *              一个比较完整的switch语句应该这样编写:
  6. *
  7. *                  switch(int或String类型的字面值或变量)
  8. *                  {
  9. *                      case int或String类型的字面值或变量 :
  10. *                           java语句;
  11. *                           ...
  12. *                           break;
  13. *                      case int或String类型的字面值或变量 :
  14. *                           java语句;
  15. *                            ...
  16. *                            break;
  17. *                      case int或String类型的字面值或变量 :
  18. *                           java语句;
  19. *                            ...
  20. *                           break;
  21. *                      ...
  22. *                      default :
  23. *                           java语句;
  24. *                  }
  25. *
  26. *          3、switch语句的执行原理:
  27. *              switch后面小括号当中的"数据"和case后面的"数据"进行一一匹配成功的分支执行
  28. *              按照自上而下的顺序依次匹配
  29. *
  30. *          4、匹配成功的分支执行,分支当中最后有"break;"语句的话,整个switch语句终止
  31. *
  32. *          5、匹配成功的分支执行,分支当中没有"break;"语句的话,直接进入下一个分支执行(不进行匹配)
  33. *          这种现象被称为case穿透现象。【提供break;语句可以避免穿透】
  34. *
  35. *          6、所有分支都没有匹配成功,当有default语句的话,会执行default分支当中的程序
  36. *
  37. *          7、switch后面和case后面只能是int或者String类型的数据,不能是探测其他类型
  38. *
  39. *              * 当然byte,short,char也可以直接写到switch和case后面,因为它们可以进行自动类型转换
  40. *              byte,short,char可以自动转换成int类型
  41. *
  42. *          8、case可以合并:
  43. *              switch(i)
  44. *              {
  45. *                  case 1: case 2: case 3: case: 10:
  46. *                      System.out.println("Test Code!")
  47. *              }
复制代码
  • 相关代码
是不是括号很舒服!
  1.         /*
  2.         long a = 10L;
  3.         int b = a; //编译报错
  4.         */

  5.         /*
  6.         long x = 100L;
  7.         switch (x)
  8.         {

  9.         } /编译报错
  10.         */

  11.         long x = 100L;
  12.         switch ((int)x)
  13.         {
  14.         }

  15.         byte b = 10;
  16.         switch (b)
  17.         {
  18.         }

  19.         char c = 'A';
  20.         switch (c)
  21.         {
  22.         }

  23.         char cc = 97;
  24.         switch (cc)
  25.         {
  26.         }

  27.         /*
  28.         switch (true)
  29.         {
  30.         }
  31.         */

  32.         String username = "zhangsan";
  33.         switch (username)
  34.         {
  35.         }
复制代码
  • 较为完整的switch语句
  1.         //接收用户的输入:
  2.         //1 表示星期一
  3.         //2 表示星期二
  4.         //...
  5.         //7 表示星期日
  6.         Scanner s = new Scanner(System.in);
  7.         System.out.print("请输入数字: ");
  8.         int num = s.nextInt();
  9.         switch (num)
  10.         {
  11.             case 1:
  12.                 System.out.println("星期一");
  13.                 break;
  14.             case 2:
  15.                 System.out.println("星期二");
  16.                 break;
  17.             case 3:
  18.                 System.out.println("星期三");
  19.                 break;
  20.             case 4:
  21.                 System.out.println("星期四");
  22.                 break;
  23.             case 5:
  24.                 System.out.println("星期五");
  25.                 break;
  26.             case 6:
  27.                 System.out.println("星期六");
  28.                 break;
  29.             case 7:
  30.                 System.out.println("星期七");
  31.                 break;
  32.             default:
  33.                 System.out.println("对不起您输入的数字非法");
  34.         }
复制代码
  • case穿透
  1.         switch (num)
  2.         {
  3.             case 1:
  4.                 System.out.println("星期一");
  5.             case 2:
  6.                 System.out.println("星期二");
  7.             case 3:
  8.                 System.out.println("星期三");
  9.                 break;
  10.             case 4:
  11.                 System.out.println("星期四");
  12.                 break;
  13.             case 5:
  14.                 System.out.println("星期五");
  15.                 break;
  16.             case 6:
  17.                 System.out.println("星期六");
  18.                 break;
  19.             case 7:
  20.                 System.out.println("星期七");
  21.                 break;
  22.             default:
  23.                 System.out.println("对不起您输入的数字非法");
  24.         }
复制代码
  • case一穿到底!好厉害
  1.         switch (num)
  2.         {
  3.             case 1:
  4.                 System.out.println("星期一");
  5.             case 2:
  6.                 System.out.println("星期二");
  7.             case 3:
  8.                 System.out.println("星期三");
  9.             case 4:
  10.                 System.out.println("星期四");
  11.             case 5:
  12.                 System.out.println("星期五");
  13.             case 6:
  14.                 System.out.println("星期六");
  15.             case 7:
  16.                 System.out.println("星期七");
  17.             default:
  18.                 System.out.println("对不起您输入的数字非法");
  19.         }
复制代码
  • case合并

  1.         switch (num)
  2.         {
  3.             case 1 : case 0 :
  4.                 System.out.println("星期一");
  5.                 break;
  6.             case 2:
  7.                 System.out.println("星期二");
  8.                 break;
  9.             case 3:
  10.                 System.out.println("星期三");
  11.                 break;
  12.             case 4:
  13.                 System.out.println("星期四");
  14.                 break;
  15.             case 5:
  16.                 System.out.println("星期五");
  17.                 break;
  18.             case 6:
  19.                 System.out.println("星期六");
  20.                 break;
  21.             case 7:
  22.                 System.out.println("星期七");
  23.                 break;
  24.             default:
  25.                 System.out.println("对不起您输入的数字非法");
  26.         }
复制代码


论IDEA自动补全的好处

今天通过 "可爱的meow" 大佬跟我所讲的

import代表着你要引用的类
如果你引用了这个类
你后面就不用把这个类的包名写上
就只用写类名
import表示你要引用它
同时import还支持通配符
比如import java.util.*;
就代表引用“java.util”这个包下面所有的类
这个包下所有的类都不用写包名
如果import java.util.Scanner
就只有Scanner不用写
如果import java.util.*
所有java.util的类都不用写java.util.
可以节省代码

还有个小技巧
  • 在IDEA中按ALT+Enter,可以自动直接加上import

实例展示&今天的展示中也用到了这个方法!






IDEA还有自动整理功能!
  • Ctrl+Alt+L 即可一键自动整理!

也是他告诉我的233..一点也不懂
再次感谢大佬~


笔记&源码展示
请注意括号(),已修改~



下载地址

请勿将以前,以后,所有的日记整合后用于商业用途

SwitchTest01.txt (6.52 KB, 下载次数: 2)

提示:将文件后缀改为.java就是源码
因为泥潭不让上传.java后缀的文件

如果您喜欢,还请您素质三连~
感谢您的支持



索引贴

在这里可以查看到我的所有日记~
点击进入 > 索引贴 < 点击进入
感谢各位的支持~
ing~



[groupid=1701]Complex Studio[/groupid]