Java学习笔记day06_自定义类_ArrayList
1.自定义类class
使用类的形式, 对现实中的事物进行描述. 类是引用数据类型.
事物: 方法,变量.
方法:事物具备的功能.
变量:事物的属性.
格式:
public class 类名{ //属性定义(变量): 修饰符 数据类型 变量名 = 值; //功能定义(方法): 修饰符 返回值类型 方法名(参数列表){ } }
2.使用自定义类
创建引用类型变量的格式:
数据类型 变量名 = new 数据类型();
实现引用类型的步骤:
1.导入包. 类在同一个文件夹,不需要导入包.
2.创建引用类型的变量
3.变量.类型中的功能
3.ArrayList集合
ArrayList集合只存储引用类型, 不存储基本类型.(相当于存储引用类型的"数组", 可存多个引用类型).
导包 java.util.ArrayList;
ArrayList集合起始索引为0.
格式:
ArrayList<集合存储的数据类型> 变量名 = new ArrayList<集合存储的数据类型>(); 如: ArrayList<String> array = new ArrayList<String>();
4.ArrayList中的方法
add() 向集合中添加元素. 注意添加的参数类型.
get(index) 取出集合中的索引为index的元素.
size() 返回集合的长度.
add(index, 元素) 将元素添加到索引位置, 该位置及之后元素后移.
set(index, 元素) 将索引元素进行修改.
remove(index) 删除索引位置元素, 之后的元素前移.
clear() 清空集合.
5.自定义类及ArrayList的运用_库存管理案例
/* Goods.java 定义描述商品的类 商品 4个属性 商品名字 大小 价格 库存 String double double int 这个类型的变量,存储到集合中 */ public class Goods{ //定义商品名字 String brand; //大小 double size; //价格 double price; //库存属性 int stock; }
/* Shopp.java 实现库存管理案例: 1.存储商品信息(方法) 存储商品类型变量 将商品类型的变量,存储到集合中 2.查看库存的清单 将集合进行遍历,获取出集合中存储的Goods类型变量 输出每一个Goods类型的属性 计算求和:总库存,总金额 3.修改商品的库存 集合遍历,获取出集合中存储的Goods类型变量 变量调用Goods类的属性stock值进行修改(键盘输入) */ import java.util.*; public class Shopp{ public static void main(String[] args){ //创建集合,存储Goods类型 ArrayList<Goods> j = new ArrayList<Goods>(); //调用添加商品信息的方法 addGoods(array); //进入死循环 while(true){ //调用选择功能的方法,获取到用户输入的序号 int i = chooseFunction(); switch(i){ case 1: //查看库存清单,遍历集合 printStore(array); break; case 2: update(array); break; case 3: return ; default: System.out.println("输入有误"); break; } } } /* 定义方法,实现选择菜单,用户根据功能选择菜单 */ public static int chooseFunction(){ System.out.println("-----------库存管理----------"); System.out.println("1.查看库存清单"); System.out.println("2.修改商品库存量"); System.out.println("3.退出"); System.out.println("请输入要执行的操作序号"); Scanner sc = new Scanner(System.in); int number = sc.nextInt(); return number; } /* 定义方法,修改库存 键盘输入,将Goods中的属性值,修改 */ public static void update(ArrayList<Goods> array){ Scanner sc = new Scanner(System.in); //遍历集合,获取集合中的每个元素 for(int i=0; i<array.size(); i++) { Goods g = array.get(i); System.out.println("请输入"+g.brand+"的库存数:"); g.stock = sc.nextInt(); } } /* 定义方法,查看库存清单,遍历集合 */ public static void printStore(ArrayList<Goods> array){ //输出表头 System.out.println("--------商场库存清单---------"); System.out.println("品牌型号 尺寸 价格 库存数"); //定义变量,保存总库存,总金额 int totalStock = 0; double totalMoney = 0.0; //遍历集合 for(int i=0; i<array.size(); i++) { Goods g = array.get(i); System.out.println(g.brand+" "+g.size+" "+g.price+" "+g.stock); totalStock += g.stock; totalMoney = totalMoney + g.stock*g.price; } System.out.println("总库存数:"+totalStock); System.out.println("商品库存总金额:"+totalMoney); } /* 定义方法,将商品信息存储到集合中 集合是所有方法的共享数据,参数传递 */ public static void addGoods(ArrayList<Goods> array){ //创建商品类型变量 Goods g1 = new Goods(); Goods g2 = new Goods(); g1.brand = "MacBookAir"; g1.size = 13.3; g1.price = 9998.9; g1.stock = 7; g2.brand = "ThinkPad"; g2.size = 15.6; g2.price = 6998.9; g2.stock = 4; //Goods类型的变量,存储到集合中 array.add(g1); array.add(g2); } }