java基础05 选择结构
选择结构
public class Demo01Change { public static void main(String[] args) { /** * 实现等量的转换 */ int a = 50; // 可乐 int b = 100; // 雪碧 // 创建空杯子 int temp; // 01.把a的值给temp 把可乐转进了空杯子 temp = a; // 02.把b的值给a a = b; // 03.把temp的值给b b = temp; System.out.println("a的值====" + a); System.out.println("b的值====" + b); } }
public class Demo02if { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请您输入张浩的java成绩:"); double javaScore = scanner.nextDouble(); /** 01.使用三元表达式 解决问题 * String result = (javaScore > 90) ? "奖励map4" : "没有奖励"; * * 02.使用 选择结构 if(表达式){ * 输出语句 * } * 表达式:必须是boolean * 表达式为true 会执行 输出语句 * * {}只有一条输出语句的时候,可以省略!但是不建议省略 */ if (javaScore > 90) { System.out.println("奖励map4"); } } }
public class Demo03if { public static void main(String[] args) { /** * 张浩的Java成绩大于98分,而且音乐成绩大于80分,老师会奖励他; * 或者Java成绩等于100分,音乐成绩大于70分,老师也会奖励他 */ Scanner scanner = new Scanner(System.in); System.out.println("请输入您的java成绩"); double javaScore = scanner.nextDouble(); System.out.println("请输入您的音乐成绩"); double musicScore = scanner.nextDouble(); /** * 条件判断 */ if ((javaScore > 98 && musicScore > 80) || (javaScore == 100 && musicScore > 70)) { System.out.println("老师奖励您一个包包....."); } } }
public class Demo04logical { public static void main(String[] args) { /** * 条件判断 * 逻辑运算符 (短路) *1. && 与,并且 表达式1 && 表达式2 * 01.如果表达式1为false,则不会执行表达式2,返回false * 02. 如果表达式1为true,则继续执行表达式2 * 03.两个表达式都为true!整体才返回true * 04.如果其中一个表达式为false,整体返回false *2. || 或者 * 01.如果其中一个表达式为true,整体返回true * 02.如果表达式1为true,则不会执行表达式2,返回true *3. ! 非 *if (!(5 > 4) && (6 < 9)) { System.out.println("进入了代码块"); } */ int a = 5; int b = 6; if (!(a++ == b) && (++a == b++)) { System.out.println("进入了代码块"); } System.out.println(++a); } }
public class Demo05ifelse { public static void main(String[] args) { /** * * 三元表达式 可以 替换if else * * if(表达式){ * //表达式为true执行的代码块 * }else{ * //表达式为false执行的代码块 * } * * 如果张浩Java考试成绩大于98分,老师就奖励他一个MP4, * 否则老师就罚他进行编码 */ int javaScore = 100; // 定义java成绩 /** if (javaScore > 98) { System.out.println("老师就奖励他一个MP4"); } if (javaScore <= 98) { System.out.println("老师就罚他进行编码"); }*/ if (javaScore > 98) { System.out.println("老师就奖励他一个MP4"); } else { System.out.println("老师就罚他进行编码"); } System.out.println("谢谢您使用程序"); } }
public class Demo06Buy { /** * 买彩票 如果体彩中了500万,我买车、资助希望工程、去欧洲旅游 如果没中,我买下一期体彩,继续烧高香 */ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入您中奖的金额:"); double money = scanner.nextDouble(); // 获取用户的中奖金额 /** * 01.使用三元表达式 */ String result = (money > 500) ? "买车、资助希望工程、去欧洲旅游" : "买下一期体彩,继续烧高香"; // System.out.println(result); /** * 02.使用if else */ if (money > 500) { System.out.println("买车、资助希望工程、去欧洲旅游"); } else { System.out.println("买下一期体彩,继续烧高香"); } } }
public class Demo07Random { public static void main(String[] args) { /** * 产生随机数 从控制台接收一个4位会员号 分解获得百位数 判断是否是幸运会员 Math.random():返回的是 0 - 1之间的小数!但是不包含1! */ double random = Math.random(); System.out.println("随机数为:" + random); // 怎么让随机数是 0-9之间的数字? System.out.println(random * 10); // double转换成 int 强制类型转换 int result = (int) (random * 10); System.out.println(result); Scanner scanner = new Scanner(System.in); System.out.println("请您输入一个会员卡号:"); int num = scanner.nextInt(); // 怎么获取百位的数字 int bai = num / 100 % 10; if (bai == result) { System.out.println("幸运用户"); } else { System.out.println("欢迎下次光临!"); } } }
public class Demo08IflseIf { public static void main(String[] args) { /** * 成绩>=80 :良好 成绩>=60 :中等 成绩<60 :差 */ Scanner scanner = new Scanner(System.in); System.out.println("请您输入成绩:"); double score = scanner.nextDouble(); /** * 多个if 实现不了 我们想要的结果 if (score >= 80) { System.out.println("良好"); } if (score >= 60) { System.out.println("良好"); } if (score < 60) { System.out.println("差"); } */ /** * 多重if * if(条件1){ * 满足条件1 执行 * }else if(条件2){ * 满足条件2 执行 * }else if(条件3){ * 满足条件3 执行 * }else if(条件4){ * 满足条件4 执行 * }else{ * 都不满足时 执行 * } */ if (score >= 80) { System.out.println("良好"); } else if (score >= 60) { System.out.println("中等"); } else { System.out.println("差"); } } }
public class Demo09ByCar { public static void main(String[] args) { /** * 我想买车,买什么车决定于我在银行有多少存款 如果我的存款超过500万,我就买凯迪拉克 否则,如果我的存款超过100万,我就买帕萨特 否则, 如果我的存款超过50万,我就买依兰特 否则, 如果我的存款超过10万,我就买奥托 否则, 如果我的存款10万以下 ,我买捷安特 */ Scanner scanner = new Scanner(System.in); System.out.println("请您输入存款金额:"); double money = scanner.nextDouble(); if (money >= 500) { System.out.println("买凯迪拉克"); } else if (money >= 100) { System.out.println("买帕萨特"); } else if (money >= 50) { System.out.println("买依兰特"); } else if (money >= 10) { System.out.println("买奥托"); } else if (money < 10) { System.out.println("买捷安特"); } /** * 只要满足其中一个条件 则后续判断的代码不会执行! int a = 5; if (a++ > 5) { System.out.println(a); } else if (++a == 6) { System.out.println(a); } else if (a++ <= 7) { System.out.println(a); } */ } }
public class Demo10 { public static void main(String[] args) { /** * 需求: * 学校举行运动会,百米赛跑跑入10秒内的学生有资格进决赛, * 根据性别分别进入男子组和女子组 * * 分析: * 判断是否能够进入决赛 在确定进入决赛的情况下,判断是进入男子组,还是进入女子组 嵌套if:在一个条件判断的代码块中,又写了一个或者多个条件判断 */ Scanner scanner = new Scanner(System.in); System.out.println("请您输入赛跑的成绩(秒):"); double score = scanner.nextDouble(); if (score <= 10) { // 进入了决赛 System.out.println("进入了决赛!请您输入性别:"); String sex = scanner.next(); /** * 根据性别分组 * equals:判断两个字符串内容是否一致 */ if (sex.equals("男")) { System.out.println("恭喜您进入了男子组!"); System.out.println("请您输入身高:"); double height = scanner.nextDouble(); if (height > 190) { System.out.println("巨人组"); } else { System.out.println("矮人组"); } } else { System.out.println("恭喜您进入了女子组!"); } } else { System.out.println("淘汰....."); } } }
public class Demo11 { public static void main(String[] args) { /** * 需求: * 普通顾客购物满100元 9折 会员购物 8折 会员购物满200元 7.5折 */ Scanner scanner = new Scanner(System.in); System.out.println("请您输入是否是会员(Y/N):"); String answer = scanner.next(); System.out.println("请您输入购物金额:"); double money = scanner.nextDouble(); double pay = 0; // 用户最后需要支付的金额 // 判断用户是否是会员 equalsIgnoreCase忽略大小写比较 if (answer.equalsIgnoreCase("y")) { System.out.println("您是会员"); // 判断折扣 if (money >= 200) { pay = money * 0.75; } else { pay = money * 0.8; } } else {// 普通用户 System.out.println("您是普通用户"); if (money >= 100) { pay = money * 0.9; } else { pay = money; } } System.out.println("您的实际支付金额是:" + pay); } }
public class Demo12 { public static void main(String[] args) { /** * 需求: * 会员积分 折 扣 x < 2000 9折 2000 ≤ x < 4000 8折 4000 ≤ x < 8000 7折 x ≥ 8000 6折 */ Scanner scanner = new Scanner(System.in); System.out.println("请您输入会员积分:"); int custCount = scanner.nextInt(); // 定义一个变量来接收 折扣 double discount; if (custCount < 2000) { discount = 0.9; } else if (2000 <= custCount && custCount < 4000) { discount = 0.8; } else if (4000 <= custCount && custCount < 8000) { discount = 0.7; } else { // 大于8000 discount = 0.6; } System.out.println("您享受的折扣是:" + discount); } }