【JAVA】关于【数组】的知识合集!(有新的学习,再追加更新)

一、定义数组

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); // 增加一行数组 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敦厚的曹操

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值