数组也是对象
将数组跟表格的形式对应起来理解,表头就是class的属性,每一行就是一个对象
下面的代码是展示一部分数组的初始化和打印
- 数组初始化
需要注意静态初始化的时候必须紧跟在声明后
- 数组的拷贝
arraycopy 方法的用法
- for 循环的基本用法
package com.arraylearning;
public class Test1 {
public static void main(String[] args) {
//静态初始化必须在声明后直接初始化
Man[] mans = {new Man(01,"a"),
new Man(02,"b"),
new Man(03,"c"),
new Man(04,"d"),
new Man(05,"e")
};
//数组的copy
Man[] mans1 = new Man[5];
System.arraycopy(mans,0,mans1,0,mans.length);
for(Man x:mans1){
System.out.println(x);
}
for (int i=0;i<mans.length;i++){
Man m = mans[i];
System.out.println(m);
}
//把数组mans遍历一遍,然后将每一m取出来给对象Man
//它一般用于读取
for( Man m:mans){
System.out.println(m);
}
}
}
class Man{
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//重写,本来是打印hashcode
public String toString(){
return "id"+id+",name"+this.name;
}
public Man(int id, String name) {
this.id = id;
this.name = name;
}
//如果你创建了有参数的构造器,那么无参数的就需要你自己加
public Man(){
}
}
二维数组
因为数组也是对象,所以当new了一个数组对象的时候,它还可以将这些数组对象再放进一组数组中,相当于表格一个对象是有很多属性的,它就相当于一个数组,然后将n个这样的表格对象放到一个数组中去,就形成了表格,那也就是二维数组的形成。
package com.arraylearning.utlarray;
/*
使用javabean和数组存储表格信息
*/
public class Test3 {
public static void main(String[] args) {
Emp emp0 = new Emp(1001, "gao1", 18, "program", "2009-10-10");
Emp emp1 = new Emp(1002, "gao2", 28, "program", "2009-10-10");
Emp emp2 = new Emp(1003, "gao3", 38, "program", "2009-10-10");
//way1
// Emp[] emps={emp0,emp1,emp2};
Emp[] emps = new Emp[3];
emps[0] = emp0;
emps[1] =emp1;
emps[2] =emp2;
for(int i=0;i< emps.length;i++){
//toString()method不需要打出来了
System.out.println(emps[i]);
}
}
}
class Emp{
private int id;
private String name;
private int age;
private String job;
private String hiradate;
public Emp(){}
public Emp(int id, String name, int age, String job, String hiradate) {
this.id = id;
this.name = name;
this.age = age;
this.job = job;
this.hiradate = hiradate;
}
@Override
public String toString() {
//use getId 比较好,便于程序修改
return "Emp{" +
"id=" + getId() +
", name='" + name + '\'' +
", age=" + age +
", job='" + job + '\'' +
", hiradate='" + hiradate + '\'' +
'}';
}
public String getId() {
return id+"号";
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public String getHiradate() {
return hiradate;
}
public void setHiradate(String hiradate) {
this.hiradate = hiradate;
}
}
这个作业是对数组的学习应用
package com.arraylearning.utlarray;
import java.util.Scanner;
public class Hometest {
public static void main(String[] args) {
Goods staff1 = new Goods(1,"百战牌鼠标","BZ_001",99.21,0.9);
Goods staff2 = new Goods(2,"键盘侠玩偶","WO_102",403.00,0.7);
Goods staff3 = new Goods(3,"实战java程序设计","BK_001",89.00,0.8);
Goods staff4 = new Goods(4,"高器牌西服","GQ_XF_12",700.00,0.5);
Goods staff5 = new Goods(5,"大米牌手机","DM_PH_13",900.00,0.3);
Goods[] allinfo = new Goods[5];
allinfo[0]=staff1;
allinfo[1]=staff2;
allinfo[2]=staff3;
allinfo[3]=staff4;
allinfo[4]=staff5;
for(int i=0;i<allinfo.length;i++){
System.out.println(allinfo[i]);
}
for(int i=0;i<allinfo.length;i++){
allinfo[i].search(100);
}
}
}
class Goods{
private int id;
private String goodsName;
private String type;
private double price;
private double discount;
public Goods(){}
public Goods(int id, String goodsName, String type, double price, double discount) {
this.id = id;
this.goodsName = goodsName;
this.type = type;
this.price = price;
this.discount = discount;
}
//创建一个方法,如果输入价格大于购买就返回所有商品
public void search(double i){
if(i<getFinalPrice()){
System.out.println(this.toString());
}
}
@Override
public String toString() {
return "Goods{" +
"id=" + getId() +
", goodsName='" + getGoodsName()+ '\'' +
", type='" + getType()+ '\'' +
", price=" + getPrice()+
", discount=" + getDiscount() +
'}';
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getGoodsName() {
return goodsName;
}
public void setGoodsName(String goodsName) {
this.goodsName = goodsName;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public double getDiscount(){
return discount;
}
public double getFinalPrice() {
return this.price*discount;
}
public void setDiscount(double discount) {
this.discount = discount;
}
}