本帖最后由 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循环结构。
|