关于Java数组的知识点

本文详细介绍了Java中的数组,包括数组的基本概念、特点、一维数组的声明、创建、访问、初始化,以及二维数组的定义、长度属性、初始化。还提及了foreach语句在遍历数组中的应用和对象数组的相关操作,如排序、二分搜索和填充等。
摘要由CSDN通过智能技术生成

一、数组基本概念
数组就是若干个相同的数据类型的元素按一定顺序排列的集合。从数组的构成形式上分,数组可以分为一维数组和多维数组(二维及二维以上)。
二、数组的特点
(一)数组是相同数据类型元素的集合。
(二)数组中的元素是有顺序的,它们在内存是按先后顺序存放在一起的。
三、一维数组
一维数组是最简单的数组,其逻辑结构是线性表。
(一)声明
数据类型[] 变量名; 举例:int[] a; String[] b;
数据类型 变量名[];
注:这两种形式都可以,数据类型可以是基本数据类型或引用数据类型,变量名要遵循标识符的命名规则,中括号表示数组的维数,一个[]代表一维。
(二)创建数组
变量名=new 数据类型[数组的长度]; 举例:a=new int[3] (创建了一个长度为3的数组,并赋值给a)
注: 平常定义一个数组一般是连着写的, 数据类型[] 变量名=new 数据类型[数组的长度]; 这样子定义更为简便,不会容易出错。
(三)一维数组元素的访问
数组的元素是通过索引来访问的,数组的索引值范围是零至数组长度减一。数组的引用方式为:数组名[下标],下标可以是整型数或整型表达式,举例:a[0],a[i+1];对于每个数组而言,都有一个长度length,如用a.length来访问数组的长度。

package practice_java;
public class java_1{
   
	public static void main(String[] args) {
   
		int[] a=new int[5];  //创建一个长度为5的数组 
		System.out.print("数组a为:");
		for(int i=0;i<a.length;i++)
			System.out.print("a["+i+"]="+a[i]+"  ");
	}
}

运行结果为:在这里插入图片描述
注:因为数组a的元素还没有初始化,所以元素数值默认为0。
(四)一维数组的初始化
定义数组的同时就为数组元素分配空间并赋值,这种赋值方法称为数组的初始化。
格式为:数据类型[] 变量名={元素一,元素二,元素三,…元素n};
数据类型[] 变量名=new 数据类型[]{元素一,元素二,元素三,…元素n};
另外,在声明数组的时候,不需要将数组的长度给出,编译器会根据所给的元素个数来为数组分配内存空间并设置数组的长度。
注:在声明数组的时候,都不能在中括号里面加入数组长度,例如 int[5] a; 这样的话编译器会报错。
除了以上的初始化,还有另外一种为一维数组赋值的方式,那就是利用循环的方法,也是常用的一种方法。

package practice_java;
public class java_1{
   
	public static void main(String[] args) {
   
		int[] a=new int[5];    //创建一个长度为5的数组 
		int i;
		for(i=0;i<5;i++)
			a[i]=i;
		System.out.print("数组a为:");
		for(i=0;i<a.length;i++)
			System.out.print("a["+i+"]="+a[i]+"  ");
	}
}

运行结果为:在这里插入图片描述
四、二维数组
(一)二维数组的定义
二维数组的定义与一维数组类似。其声明与创建数组的格式为:数据类型[][] 变量名; 变量名=new 数据类型[行数][列数]; 同样地,两句语句可以连着一起定义,举例:int[][] a=new int[2][3]; (定义了一个两行三列的整型二维数组);Java语言的二维数组不一定是规则的矩形数组,它每一行的列数可以不同,所以在定义一个不规则的二维数组,只需要给出最高维数即可,格式为: 数据类型[][] 变量名=new 数据类型[行数][]; 接着再为最高维分配引用空间,也就是为每一行设置该行的数组长度,格式为:变量名[0]=new 数据类型[列数];变量名[1]=new 数据类型[列数]; 以此类推。
注:二维数组在定义的时候,必须且至少指定高层维数,例如 int[][] a=new int[2][]; int[][] a=new int[2][3]; 则编译可以通过;而
int[][] a=new int[][2]; int[][] a=new int[][]; 则编译错误。

package practice_java;
public class java_1{
   
	public static void main(String[] args) {
   
		int[][] a=new int[2][]; //创建一个行数为2的不规则二维数组
		a[0]=new int[2];    //第一行列数为2
		a[1]=new int[3];
		int i,j;
		System.out.println("数组a为:");
		for(i=0;i<a
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值