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);
}
}

Java学习笔记day06_自定义类_ArrayList的更多相关文章

  1. java学习笔记7--抽象类与抽象方法

    接着前面的学习: java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) jav ...

  2. Java学习笔记16---抽象类与接口的浅显理解

    抽象类是由abstract修饰的类,定义方式如public abstract class A{...}. 接口由interface修饰,定义方式如public interface B{...}. 抽象 ...

  3. 1.9(java学习笔记)object类及toString()与equals()方法

    object类 java中objec是所有类公共的父类,一个类只要没有明显的继承某一类,那么它就是继承object类. 例如 class Person {......};和class Person e ...

  4. 【原】Java学习笔记031 - 常用类

    package cn.temptation; public class Sample01 { public static void main(String[] args) { /* * 类 Math: ...

  5. Java学习笔记(2)——有关类

    Java类的高级特性: {Java管理文件机制:类包. 同一个包中的类互相访问时,可以不指定包名. 同一个包中的类不必存放在同一位置,如com.lang.class1和com.lang.class2可 ...

  6. Java学习笔记5(类的入门以及ArrayList)

    1.类的概念:将现实生活中的事物抽象成了代码(类),我们可以使用自定义的数组类型(类)来描述现实生活中的事物. 2.分析:用一部手机来分析,手机可以打电话,上网,听音乐,这些就是方法,手机有型号,颜色 ...

  7. 0029 Java学习笔记-面向对象-枚举类

    可以创建几个对象? n多个:大部分的类,都可以随意创建对象,只要内存不爆掉 1个:比如单例类 有限的几个:采用单例类的设计思路,可以只允许创建少数的几个特定的对象:还有就是枚举类. 创建少数几个对象, ...

  8. java学习笔记之String类

    String类总结 String类概述: java.lang.String 类是字符串操作类 String类的常用构造方法: //1.直接赋值 String str= "hellojava& ...

  9. java学习笔记之System类

    System类常用总结 System类概述 java.lang.System类,系统属性信息工具类 常用静态方法: 1. public static long currentTimeMillis() ...

随机推荐

  1. C++结构体的定义、初始化和引用

    定义: 结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构. 声明一个结构体类型的形式是: struct Student{ //声明一个结构体类型Student in ...

  2. Easyui datebox单击文本框显示日期选择 eayui版本1.5.4.1

    Easyui默认是点击文本框后面的图标显示日期,体验很不好,所以我想单击文本框就显示日期选择框,网上很多版本是1.3,1.4的,于是自己就比葫芦画瓢改了一个1.5.4.1的版本. 我参考了网上这个帖子 ...

  3. 【转】nginx禁止访问某个文件和目录(文件夹)

    nginx禁止访问所有.开头的隐藏文件设置 location ~* /.* {deny all;} nginx禁止访问目录, 例如:禁止访问path目录 location ^~ /path {deny ...

  4. Windows系统 为 QT5软件 搭建 OpenCV2 开发环境

    Windows系统 为 QT5软件 搭建 OpenCV2 开发环境 我们的电脑系统:Windows 10 64位 Qt5 软件:Qt 5. 7. 0 OpenCV2 版本:OpenCV2.4.10 1 ...

  5. Arduino Wire.h(IIC)库函数详解

    此库中包含 1 Wire.begin() 2 Wire.requestFrom() 3 Wire.beginTransmission() 4 Wire.endTransmission() 5 Wire ...

  6. JavaPersistenceWithHibernate第二版笔记-第六章-Mapping inheritance-005Table per subclass with joins(@Inheritance(strategy = InheritanceType.JOINED)、@PrimaryKeyJoinColumn、)

    一.结构 The fourth option is to represent inheritance relationships as SQL foreign key associations. Ev ...

  7. Gremlin:图遍历语言

    Gremlin简介 Gremlin是Apache TinkerPop 框架下的图遍历语言.Gremlin是一种函数式数据流语言,可以使得用户使用简洁的方式表述复杂的属性图(property graph ...

  8. js/jq基础(日常整理记录)-3-一个自定义表格

    一.一个自定义的表格 这个js是我刚工作的时候,我们老大让我做一个功能,我觉得html自带的table功能单一,没有分页和排序功能,所有就尝试着做一下,所以这个东西就出来了.很久没写博客了,贴出来吧, ...

  9. DjVu转PDG的方法与步骤

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2008.08.03更新:2008.08.24 补充说明:此文成文较早,当时PDG浏览器只支持纯正PDG,不支持名为PDG,实 ...

  10. windows下部署icescrum

    软件151  卢炜杰 一.安装JDK 1.下载JDK 地址:http://www.oracle.com/technetwork/java/javaee/downloads/index.html 选择相 ...