一. 顺序结构
所谓顺序结构,其实就是按照代码原本应该的方式进行执行从上到下,从左到右。
二. 判断结构
if语法
if-else语法
else-if语法
使用switch解决类似问题,switch会将case后的值写入栈中,表达式的结果会直接在栈中进行查询并选择,效率更高。
语法说明:
1.表达式的取值:byte,short,int,char;JDK5以后可以是枚举;JDK7以后可以是String。
2.case后面跟的是要和表达式进行比较的值。
3.break表示中断,结束的意思,可以结束switch语句。
4.default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
三. switch'选择结构
switch语法
switch嵌套
if嵌套
使用switch的注意事项:
1.case后面只能是常量,不能是变量,而且,多个case后面的值不能相同。
2.default可以省略。但一般不建议,除非结果是可以预计且不会发生变化的。
3.break可以省略,一般不建议。
4.default的位置可以出现在switch语句任意位置。
5.switch语句的结束条件必定是遇到break或已经执行到最末尾。
一• 实现优惠券抵用活动。
用户获得了一张20元抵用券,现有5项商品可以使用抵用券。用户只能选择一项进行使用。
当用户选择后,用户付钱,并找零。 示例图:
源代码:
{ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("----------------欢迎来到小白菜商城---------------"); System.out.println(" 主菜单 > 使用抵用券 "); System.out.println(" 以下商品可以使用抵用券: "); System.out.println(" 1.美的微波炉----370元 "); System.out.println(" 2.飞利浦剃须刀--267元 "); System.out.println(" 3.格力空调-----3255元 "); System.out.println(" 4.潮流卫衣-----577元 "); System.out.println(" 5.小白菜跳舞教程--139元 "); System.out.println("请输入您要购买的商品号: "); int cood = scanner.nextInt(); String x = ""; double y = 0; switch (cood){ case 1: x = "美的微波炉"; y = 370; break; case 2: x = "飞利浦剃须刀"; y = 267; break; case 3: x = "格力空调"; y = 3265; break; case 4: x = "潮流卫衣"; y = 557; break; case 5: x = "欣知小姐姐跳舞教程"; y = 139; break; default: System.out.println("请输入正确的编号:"); break; } System.out.println("您选择购买的商品"+x+"--"+y+"元"); System.out.println("原价"+y+"元"+(y-20)+"抵用券减"+20+"元+"+"现价"+(y-20)); System.out.println("请付款:"+(y-20)); int cf = scanner.nextInt(); //double b = scanner.nextDouble(); if(cf < y || cf == 0){ System.out.println("您的钱不够啊,如需贷款出门右转拨打110,再见"); }else{ System.out.println("找零:"+(cf-(y-20))); System.out.println("谢谢您的惠顾,欢迎下次光临"); } } }
二• 实现特价菜单功能
小白菜饭店周一到周日7天每天都会有一个特价菜,并且男生和女生菜品不同
示例图:
源代码:
import java.util.Scanner; public class Demo13 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入你的性别:"); String man = scanner.next(); System.out.println("请输入你要查询的星期几:"); String week = scanner.next(); String disname = ""; double price = 0; if ("男".equals(man)) { switch (week) { case "星期一": disname = "炒鸡蛋"; price = 23; break; case "星期二": disname = "奥利奥"; price = 23; break; case "星期三": disname = "奥里给"; price = 23; break; case "星期四": disname = "哈撒给"; price = 23; break; case "星期五": disname = "的撒大"; price = 23; break; case "星期六": disname = "小炒肉"; price = 23; break; case "星期日": disname = "土豆丝"; price = 23; break; } } else { System.out.println("请输入你要查询的星期几:"); switch (week) { case "星期一": disname = "炒鸡蛋"; price = 23; break; case "星期二": disname = "奥利奥"; price = 23; break; case "星期三": disname = "奥里给"; price = 23; break; case "星期四": disname = "哈撒给"; price = 23; break; case "星期五": disname = "的撒大"; price = 23; break; case "星期六": disname = "小炒肉"; price = 23; break; case "星期日": disname = "土豆丝"; price = 23; break; } } System.out.println(week+"的特价菜是:"+disname+"--"+price+"元"); } }