ToB企服应用市场:ToB评测及商务社交产业平台

标题: 003-Java程序流程控制 [打印本页]

作者: 悠扬随风    时间: 2024-5-12 23:39
标题: 003-Java程序流程控制
3. Java程序流程控制(重点)

3.1 分支结构 if, switch

3.1.1 if

  1. package com.itheima.a_if;
  2. import java.util.Scanner;
  3. /**
  4. * @author: LXHYouth
  5. * @date: 2024/3/3 11:39
  6. * @description:
  7. */
  8. /*
  9. if 案例: 用户登录
  10.     需求: 键盘录入用户名和密码
  11.         如果用户名不是1, 程序输出:用户名错误
  12.         如果密码不是2, 程序输出:密码错误
  13.         如果用户名和密码没问题, 程序输出:登录成功
  14.     提示:
  15.         使用Scanner接收用户输入的信息,并使用变量接收
  16.         使用if...else if...else 组织程序逻辑
  17. */
  18. public class Demo03 {
  19.     public static void main(String[] args) {
  20. //        1. 创建一个自己的扫描器
  21.         Scanner sc= new Scanner(System.in);
  22. //        2.提示用户输入用户名
  23.         System.out.print("请输入用户名: ");
  24.         int name = sc.nextInt();
  25. //        提示用户输入密码
  26.         System.out.print("请输入密码: ");
  27.         int passWord= sc.nextInt();
  28.         if(name!=1){
  29.             System.out.println("用户名错误!!!");
  30.         }else if(passWord!=2){
  31.             System.out.println("密码错误!!!");
  32.         }else{
  33.             System.out.println("登录成功!!!");
  34.         }
  35.     }
  36. }
复制代码
3.1.2 switch

3.1.3 switch使用时注意事项

3.1.4 总结



  1. package com.itheima.b_switch;
  2. import java.util.Scanner;
  3. /**
  4. * @author: LXHYouth
  5. * @date: 2024/3/3 11:39
  6. * @description:
  7. */
  8. /*
  9. 分支结构 switch
  10.   1. 使用待匹配的值去匹配对应的case值, 执行对应的语句体, 遇到break就结束switch语句
  11.   2. 所有的case都匹配不到,则执行default中的语句体
  12.   switch(待匹配的值){
  13.     case 值1:
  14.         语句体1;
  15.         break;
  16.     case 值2:
  17.         语句体2;
  18.         break;
  19.         ....
  20.     case 值n:
  21.         语句体n;
  22.         break;
  23.     default:
  24.         语句体;
  25.         break;
  26.   }
  27. */
  28. /*
  29. switch注意事项:
  30.     1. 表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7开始支持String、不支持double、float、long。
  31.     2. case给出的值不允许重复,且只能是字面量,不能是变量。
  32.     3. 正常使用switch的时候,不要忘记写break,否则会出现穿透现象。
  33. switch的case穿透
  34.     当case中没有写break时,就会开启穿透,后续的case不再匹配,直接执行,直到遇到下一个break或者整个switch执行完毕后才结束
  35.     穿透现象是可以加以利用, 优化代码的
  36. */
  37. public class Demo01 {
  38.     public static void main(String[] args) {
  39.         Scanner sc = new Scanner(System.in);
  40.         //需求: 根据今天星期几, 判断是工作还是休息
  41.         System.out.print("请输入今天星期几: ");
  42.         int weekDay= sc.nextInt();
  43.         switch(weekDay){
  44.             case 1:
  45.                 System.out.println("工作");
  46.                 break;
  47.             case 2:
  48.                 System.out.println("工作");
  49.                 break;
  50.             case 3:
  51.                 System.out.println("工作");
  52.                 break;
  53.             case 4:
  54.                 System.out.println("工作");
  55.                 break;
  56.             case 5:
  57.                 System.out.println("工作");
  58.                 break;
  59.             case 6:
  60.                 System.out.println("休息");
  61.                 break;
  62.             case 7:
  63.                 System.out.println("休息");
  64.                 break;
  65.             default:
  66.                 System.out.println("输入错误!!!");
  67.         }
  68.         //需求: 根据定义的月份month,输出对应的季节
  69.         // 3、4、5:春季
  70.         //6、7、8:夏季
  71.         //9、10、11:秋季
  72.         //其它 : 输入月份有误
  73. //        如果发现上下有多个case下的代码完全能相同, 可以利用穿透现象进行简写,只写最后一个case里的代码
  74.         System.out.print("请输入月份: ");
  75.         int month = sc.nextInt();
  76.         switch(month){
  77.             case 12:
  78.             case 1:
  79.             case 2:
  80.                 System.out.println("现在是冬季");
  81.                 break;
  82.             case 3:
  83.             case 4:
  84.             case 5:
  85.                 System.out.println("现在是春季");
  86.                 break;
  87.             case 6:
  88.             case 7:
  89.             case 8:
  90.                 System.out.println("现在是夏季");
  91.                 break;
  92.             case 9:
  93.             case 10:
  94.             case 11:
  95.                 System.out.println("现在是秋季");
  96.                 break;
  97.             default:
  98.                 System.out.println("输入月份有误!!!");
  99.         }
  100.     }
  101. }
复制代码
3.2 循环结构 for, while, do-while

3.2.1 for循环



  1. for(初始化语句 ; 条件判断语句;  条件变更语句 ) {
  2.             循环体语句 ; //要重复执行的代码
  3. }
复制代码
[code]// 输出3次hello worldfor (    int i = 1;     i




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4