zoukankan      html  css  js  c++  java
  • 008.day06

    day06笔记

    一、业务场景分析

    1. 需求内容

    模拟顾客来到商场,浏览挑选商品,完成支付,离开商场的过程

    2. 模型设计

    根据需要,分析得出可以初步使用四个对象进行场景构建

    • 顾客
    • 商品
    • 店员
    • 商场

    3. 详细设计

    具体分析每个实体类应该具有的属性和行为,并初步定义填充

    1. 顾客

    • 属性:金额,标识
    • 行为:进入商场,离开商场,浏览商品,挑选商品,支付买单

    2. 商品

    • 属性:编号,名称,价格,库存,生产日期
    • 行为

    3. 店员

    • 属性:
    • 行为:欢迎顾客,介绍商品,订单信息

    4. 商场

    • 属性:名称,类型,地点
    • 行为

    4. 业务实现

    1. 分析业务流程

    2. 代码实现

    		// 实例化一个商场对象
    		Mall mall = new Mall("森马", "西部硅谷");
    		// 实例化一个顾客对象
    		Customer customer = new Customer("sand", 500f);
    		// 进入商场
    		customer.in(mall);
    		// 实例化一个店员对象
    		Service service = new Service();
    		// 店员接待
    		service.welcome();
    		// 实例化一个商品对象
    		Product product = new Product("01", "运动T恤", 200f, 20, "2018年5月");
    		// 顾客浏览商品
    		customer.serach(product);
    		// 商品介绍,购买引导
    		service.showProduct();
    		// 初始化工具类
    		Scanner scanner = new Scanner(System.in);
    		// 读取用户的选择->使用true/false字符串
    		boolean select = scanner.nextBoolean();
    		// 发起购买
    		if (select) {
    			// 顾客付钱
    			boolean result = customer.pay(product);
    			if (result) {
    				// 提供小票
    				service.showOrder(customer,product);
    			}else {
    				// 支付失败
    				System.out.println("下次再来");
    			}
    		}
    		// 释放资源
    		scanner.close();
    		// 离开商场
    		customer.leave();
    

    二、Java数组

    最近本的集合类型,可以装多个数据或引用类型的对象,数组本身也是引用类型

    • 定义方式:数据类型/引用类型[] 变量名称;
    • 定义方式:数据类型/引用类型 变量名称[];
    int[] a;
    int a[];// 不推荐使用
    
    • 存储方式:内存中的连续地址,引用指向首个元素地址
    • 静态初始化:在初始化时,数组中的元素已经确定
    • 动态初始化:指定数组长度,默认使用零值初始化
    int[] a = new int[] {1,2,3,4,5};// 静态初始化标准形式 
    int[] a = {5,6,7,8,9};// 静态初始化简写形式
    int[] a = new int[5];// 动态初始化
    
    • 数组元素取用方式:通过索引下标->非负整数,从0开始,代表第一项
    a[0] = 10;
    System.out.println(a[1]);
    
    • 基本数据类型传递为值传递,数组及引用类型为地址传递
    • 使用final修饰的数组为引用不可变
    final int[] a = new int[5];
    int[] b = new int[3];
    a[0] = 5;// 编译通过
    a = b;// 编译不通过
    
    • 数组遍历方式:普通for循环,使用length属性获得数组的长度
    • 数组下标范围:0->length-1

    三、异常

    程序出现较为严重的问题,会触发java的异常处理机制

    • 预编译阶段(程序运行之前):进行异常检查(针对于可能出现异常的工具类等)
    • 运行时异常:在程序运行时出现的异常,如果没有手动处理,会出现异常提示信息
    • 数组下标越界:ArrayIndexOutOfBoundsException
    int[] a = new 
    
    • 越界异常的原因:超出数组变量的管辖范围
    • 空指针异常:元素未实例化(在内存当中未分配空间)时,却调用了其中的方法或属性

    四、扩展知识点

    使用String中的toCharArray方法可以将某个字符串转换为一个字符数组,数组中的每个元素为字符串中的单个字符

    		Scanner scanner = new Scanner(System.in);
    		String number = scanner.nextLine();
    		char[] a = number.toCharArray();
    		for (char c : a) {
    			System.out.println(c);
    		}
    		scanner.close();
    
  • 相关阅读:
    XSS练习小游戏和答案参考
    nxlog以syslog方式发送日志
    Hydra—密码爆破神器
    syslog服务器配置笔记
    信息安全工具汇总整理
    nmap使用指南
    Cleaner, more elegant, and harder to recognize (msdn blog)
    Golang 中的坑 一
    Concurrency Is Not Parallelism (Rob pike)
    golang sql database drivers
  • 原文地址:https://www.cnblogs.com/yokii/p/9342816.html
Copyright © 2011-2022 走看看