一、定义数组
package HELLO;
import java.util.Scanner;
public class shuzu {
public static void main(String[] args)
{
// ======================= 【先定义,后赋值】
int[] numbers= new int[100]; // 定义了数值型的数组,相当于100个变量。
numbers[0]=1; // 数组变量从【0】开始,不是从【1】。
numbers[1]=2;
int aaa=numbers[0]+numbers[1];
System.out.println("两个数组的合计:"+aaa);
// ======================= 【定义和赋值一块进行】
String[] m_sz= {"乒乓球","篮球","足球","音乐"};
for(String i:m_sz) // 字符型数组
{
System.out.println(i);
}
int[] m_sz1= {62,98,99,77};
for(int i:m_sz1) // 数值型数组
{
System.out.println(i);
}
}
}
二、获得数组元素的个数(length)
package HELLO;
import java.util.Scanner;
public class shuzu {
public static void main(String[] args)
{
String[] m_sz= {"乒乓球","篮球","足球","音乐"};
System.out.println("这个数组的个数是:"+m_sz.length);
// ============= 【在遍历数组的For循环中使用length】
for(int i=0;i<m_sz.length;i++)
{
System.out.println(m_sz[i]);
}
}
}
三、二维数组的例子
package HELLO;
import java.util.Scanner;
public class shuzu {
public static void main(String[] args)
{
int[][] m_sz= new int[2][3]; // 给二维数据赋值,2行3列
System.out.println("这个数组的【行数】是:"+m_sz.length);
System.out.println("这个数组的【列数】是:"+m_sz[0].length);
// ============= 【在遍历数组的For循环中使用length】
int m_number=0;
for(int i=0;i<m_sz.length;i++)
{
for(int j=0;j<m_sz[0].length;j++)
{
m_sz[i][j]=i*10+j;
System.out.println("m_sz["+i+"]["+j+"]="+i+j);
m_number=m_number+1;
}
}
System.out.println("这个二维数组["+m_sz.length+"]["+m_sz[0].length+"]的个数是:"+m_number);
}
}
行结果如下:
四、对象数组的例子(单个对象或单个类 )
为什么要使用“对象数组”?为什么JAVA难学?为什么JAVA那么抽象,不好理解?
这是很多初学者困惑的地方,因为,刚开始所有学习的都不知道用到哪儿?其实,刚开始的学习都是在控制台上进行的,因为,控制台里边没有【数据库】,所以,就用数组来代替。而对象数组有一个特点,就是“可以包容各个数据类型,如:m_aaa[0]= new men("name",10);有字符型,还有数值型,当然,如果学习过数据库,会更好的去理解,完全可以把men.java理解成表结构,把shop.java理解成数据表。
1、men.java(对象)
package Z_CarManger;
public class men {
private String name; // 创建私有变量
private int number; // 创建私有变量
public men(String a, int b) // 创建构造函数,让另一个类传参输入和调用。
{
name=a;
number=b;
}
public String getMen() // 读取输入的值
{
return "项目:"+name+" 数值:"+number;
}
}
2、shop.java(创建和调用对象数组)
package Z_CarManger;
public class shop {
public static void main(String[] args) {
men[] m_aaa=new men[3]; // 通过men类,创建3个数组
m_aaa[0]= new men("name",10);
m_aaa[1]= new men("old",10);
m_aaa[2]= new men("price",10);
for(int i=0; i<m_aaa.length; i++) {
// System.out.println(m_aaa[i]);
System.out.println(m_aaa[i].getMen());
}
}
}
五、对象数组的例子(多个对象或多个类的调用 )
System.out.println(""+((Bus)moto).getSeat());
package Z_CarManger;
public class Data1 {
Drive[] m_car=new Drive[8]; // 通过父类创建对象数组
public void init()
{
// 【轿车】:品牌、车辆号、日租金、型号
m_car[0]=new Car("宝马","京N28588",800,"X6"); // 对应Car类的构造函数
m_car[1]=new Car("宝马","京CNY3284",600,"550i"); // 对应Car类的构造函数
m_car[2]=new Car("别克","京NT37465",300,"林荫大道"); // 对应Car类的构造函数
m_car[3]=new Car("别克","京NT96968",600,"GL8"); // 对应Car类的构造函数
// 【客车】:品牌、车辆号、日租金、型号
m_car[4]=new Bus("金杯","京6566754",800,16); // 对应Bus类的构造函数
m_car[5]=new Bus("金龙","京8696997",800,16); // 对应Bus类的构造函数
m_car[6]=new Bus("金杯","京9696996",1500,34); // 对应Bus类的构造函数
m_car[7]=new Bus("金龙","京8696998",1500,34); // 对应Bus类的构造函数
// ====================================== 【另一个方法遍历对象数组】
// for(int i=0; i<m_car.length; i++) {
//
// System.out.print(m_car[i].getBrand());
// System.out.print(",");
// System.out.print(m_car[i].getId());
// System.out.print(",");
// System.out.print(m_car[i].getRent());
// System.out.println(",");
// try {
// System.out.print(""+((Bus)m_car[i]).getSeat());
// System.out.println(",");
//
// } catch (Exception e) {
//
// }
// }
// ====================================== 【正确方法,遍历对象数组】
Drive m_meney=null; // 创建一个对象变量
for(Drive moto:m_car) // 用父类Drive建立一个新的数组对象moto,进行遍历和比较
{
if(moto instanceof Car) // 遍历Car子类的对象
{
moto=(Car)moto;
System.out.println(moto.getBrand());
}
if(moto instanceof Bus) // 遍历Bus子类的对象
{
moto=(Bus)moto;
System.out.println(""+((Bus)moto).getSeat());
}
}
}
public static void main(String[] args) {
Data1 ooo = new Data1();
ooo.init();
}
}
六、对象数组的增加和删除例子(多个对象或多个类的调用 )
// ==================== 【对象数组,增加和修改】
books[1]=new Book(1,"JAVA ","先生","2018-12-1",53,8); // 修改某个数组值
books[3]=new Book(1,"P语言 ","郭先生","2019-12-1",53,8); // 增加一行数组