JXNU1999python 发表于 2021-11-20 09:28

Java自学笔记Day04

本帖最后由 JXNU1999python 于 2021-11-21 08:41 编辑

<font face="微软雅黑" size=5 color=#660000 >
Java自学笔记Day04
一、前期回顾

第三天学习了四种if语句、if语句的嵌套、
if多重语句,从控制台输入和逻辑运算符。

二、day03学习目标:

掌握switch语句的语法和运用;
能够使用switch语句和if语句相互嵌套。

三、day03学习内容重点:

1、switch语句基本语法

从习题01中学习
   

    import java.util.Scanner;
    public class Switch02 {
      public static void main(String[] args) {
                Scanner input=new Scanner(System.in);
                System.out.println("按1拨打爸爸的电话");
                System.out.println("按2拨打妈妈的电话");
                System.out.println("按3拨打爷爷的电话");
                System.out.println("按4拨打奶奶的电话");
                System.out.print("请输入你的选择: ");
                String num=input.next();
                switch(num) {//switch(变量)
                case "1"://这里case后面的数据数据必须和switch括号里面的一样
                        System.out.println("正在拨打爸爸的电话");
                  break;
                case "2":/*可以有若干的case语句,哪个case后面的值与switch括号里面的一样,就执行哪条switch语句。*/
                        System.out.println("正在拨打妈妈的电话");
                        break;
                case "3":
                        System.out.println("正在拨打爷爷的电话");
                        break;
                case "4":
                        System.out.println("正在拨打奶奶的电话");
                        break;
                default:/*当前面的case都不满足,就执行default,实际上这条语句没有不会造成语法错误,只是少了一个分支而已。*/
                        System.out.println("正在拨打陌生人的电话");
                        break;
                }

      }
    }
2、if语句与switch语句嵌套

    import java.util.Scanner;
    public class Switch03 {
      public static void main(String[] args) {
                Scanner input=new Scanner(System.in);
                System.out.print("请输入消费金额: ");
                double money =input.nextDouble();
                if(money>=0) {
                        System.out.println("您是否参加优惠换购活动? ");
                        System.out.println("1、<参加> ");
                        System.out.println("2、<不参加> ");
                        int shop =input.nextInt();
                        if(shop == 1) {
                              System.out.println("请选择:");
                              System.out.println("1、满50元,加2元换购300ml百事可乐一瓶。");
                              System.out.println("2、满100元,加3元换购500ml百事可乐一瓶");
                              System.out.println("3、满100元,加10元换购炸鸡一份");
                              System.out.println("4、满200元,加10元换购一个苏泊尔菜锅");
                              System.out.println("5、满200元,加20元换购康师傅沐浴露一瓶");
                              System.out.println("0、不换购");
                              int num=input.nextInt();
                              switch(num) {
                                        case 1:
                                                if(money>=50) {
                                                      double money01= money+2;
                                                      System.out.println("本次消费金额是"+money01+"元。");
                                                      System.out.println("成功换购一瓶300ml百事可乐");
                                                }else {
                                                      System.out.println("对不起,金额不足无法换购");
                                                }
                                                break;
                                        case 2:
                                                if(money>=100) {
                                                      double money01= money+3;
                                                      System.out.println("本次消费金额是"+money01+"元。");
                                                      System.out.println("成功换购一瓶500ml百事可乐");
                                                }else {
                                                      System.out.println("对不起,金额不足无法换购");
                                                }
                                                break;
                                        case 3:
                                                if(money>=100) {
                                                      double money01= money+10;
                                                      System.out.println("本次消费金额是"+money01+"元。");
                                                      System.out.println("成功换购一份炸鸡");
                                                }else {
                                                      System.out.println("对不起,金额不足无法换购");
                                                }
                                                break;
                                        case 4:
                                                if(money>=100) {
                                                      double money01= money+10;
                                                      System.out.println("本次消费金额是"+money01+"元。");
                                                      System.out.println("成功换购一个苏泊尔菜锅");
                                                }else {
                                                      System.out.println("对不起,金额不足无法换购");
                                                }
                                                break;
                                        case 5:
                                                if(money>=100) {
                                                      double money01= money+20;
                                                      System.out.println("本次消费金额是"+money01+"元。");
                                                      System.out.println("成功换购一瓶康师傅沐浴露");
                                                }else {
                                                      System.out.println("对不起,金额不足无法换购");
                                                }
                                                break;
                                        case 0:
                                                      System.out.println("本次消费金额是"+money+"元。");
                                                      System.out.println("您没有换购任何物品");
                                                break;
                              }
                        }else if(shop ==2) {
                              System.out.print("本次消费金额是"+money+"元。");
                        }
                }else {
                        System.out.print("输入金额不正确,请重试");
                }
      }
    }
3、使用if嵌套其实也能达到这种效果,为了美观方便观看,

推荐选择if语句和switch语句嵌套。

    import java.util.Scanner;
    public class swtichTest {
      public static void main(String[]args) {
                Scanner input=new Scanner(System.in);
                System.out.println("\t欢迎使用万达购物管理系统");
                System.out.println("\t 1、登录系统");
                System.out.println("\t 2、退出");
                System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
                System.out.print("请选择: ");
                int num01 = input.nextInt();
                if(num01 == 1) {
                        System.out.print("1、客户信息管理 ");
                        System.out.print("请选择: ");
                        System.out.print("请选择: ");
                        System.out.print("请选择: ");
                        System.out.print("请继续选择: ");
                  int num02 = input.nextInt();
                  if(num02==1) {
                           
                  }else if(num02==2) {
                            //若干java语句
                  }else if(num02==3) {
                            //若干java语句
                  }else if(num02==4) {
                            //若干java语句
                  }
      //            switch(num03) {
      //                        case 1:
      //                              xxx
      //                              break;
      //                        }
                }else if(num01 ==2 ){
                        //若干java语句
                }
      }
    }
四、内容总结与知识补充

1、switch语句只能处理等值判断,不能比较大小。

2、菜单跳转的程序,如果用户错误地输入了一个不允许的字符,例如“s”,程序会怎样呢?

为了使程序更加健壮,程序员在编码时要考虑用户可能出现的任何问题,并且在程序中做出相应的判断,给用户一个友好的提示。

?问题
菜单跳转的程序,如果用户错误地输入了一个不允许的字符,例如“s”,程序会怎样呢?
2分析
为了使程序更加健壮,程序员在编码时要考虑用户可能出现的任何问题,并且在程序中做出相应的判断,给用户一个友好的提示

Scanner对象的hasNextlnt(方法,可以判断用户从键盘输入的字符是否是合法的数字


五、课后作业与预习
练习switch嵌套,预习while循环结构。

sxhzsj 发表于 2021-11-20 10:06

感谢分享

TAaxing 发表于 2021-11-20 10:21

感谢分享

xiahhhr 发表于 2021-11-20 10:26

加油,期待你的第 day365

timeday111yyds 发表于 2021-11-20 12:33

加油楼主,我也正在学java,才学到数组。我们一起加油

lpy88542585 发表于 2021-11-20 13:09

感谢分享,我也在学编程,一起加油!:loveliness:

偶尔平凡 发表于 2021-11-20 13:25

rayway 发表于 2021-11-20 13:31

跟进学习中

赵_小黑 发表于 2021-11-20 15:55

谢谢分享

B20033320 发表于 2021-11-27 09:47

一起学习!!!!!!
页: [1]
查看完整版本: Java自学笔记Day04