Java数组

数组是一种存储同种数据类型元素的集合,具有固定大小且元素在内存中连续存储。数组的基本要素包括标识符、元素、下标和元素类型。在Java中,数组可以通过静态或动态初始化定义。二维数组是数组的数组,可以用于表示矩阵。Arrays工具类提供了如toString、equals、sort、fill和copyOf等实用方法,方便对数组进行操作。
摘要由CSDN通过智能技术生成

一,数组是个容器,他可以存储同种数据类型的同名变量的有限集合

二,数组的特点

    (1)存储同种数据类型的元素

    (2)数组一旦创建,有大小,大小不可以改变。

    (3)在程序运行过程中,临时存储多个值

    (4)数组元素在内存中的地址是连续的

三,数组的基本要素

    (1)标识符:数据的名称(变量名),用于区分不同的数组

    (2)数组元素:向数组中存放的数据

    (3)元素下标:对数组元素进行编号,从0开始,数组中的每个元素都可以通过下标来访问

    (4)元素类型:数组元素的数据类型

四,数组的定义

     1,数组的定义和静态初始化

       语法:数组元素的数据类型 [] 数组名 = {元素1,元素2,...,元素n};或 数组元素的数据类型 [] 数组名 = new 数组元素的数据类型[]{元素1,元素2,...,元素n};

       举例:int [] scores = {75,64,83,84,74,75,90,81};

       2,数组的定义和动态初始化

        语法:数组元素的数据类型 [] 数组名 = new 数组元素的数据类型[长度];

        举例:int [] scores = new int [54];

   3,内存图解

   数组元素下标从0开始,长度为n的数组的合法下标取值范围为 0~n-1

五,二维数组  一维数组的元素,是一维数组

     定义 声明:数组元素的类型 [][] 数组名 ;

     静态初始化  int[][] scores = { { 80, 85, 75, 90 }, { 88, 84, 65, 89 }, { 95, 81, 87, 78, 90 } };

     动态初始化 int[][] ages = new int[5][8]; 

     说明:[5]:为二维数组的长度, [8]:为二维数组每个元素(一维数组)的长度

六,工具类Arrays

     (1)toString方法: 输出一维数组的元素,调用:Arrays.toString(数组名);

     (2)equals方法:比较两个数组是否相同

               判断标准 :数组元素的数据类型相同,数组的长度相同,对应索引位置的元素是否相同。调用:Arrays.equals(数组名1, 数组名2);

     (3)sort方法:对数组元素进行升序排序。调用:Arrays.sort(数组名);

     (4)fill方法:对数组元素进行填充 。调用:Arrays.fill(数组名, 填充的值);

     (5)copyOf方法:从旧的数组最开始复制,复制length个元素,并返回一个新数组

代码

int[] array = {22, 40, 18, 11, 25, 48, 24, 41, 24, 42}

		System.out.println("原数组:"+Arrays.toString(array));

		int [] newArray = Arrays.copyOf(array, 5);

		System.out.println("复制后:"+Arrays.toString(newArray));

运行结果:

原数组:[22, 40, 18, 11, 25, 48, 24, 41, 24, 42]

复制后:[22, 40, 18, 11, 25]

    (6)binarySearch方法:查询元素val在数组中的下标(要求数组中的元素已经按照升序排列)

代码

int[] array = {22, 40, 18, 11, 25, 48, 24, 41, 24, 42};

		System.out.println("原数组:"+Arrays.toString(array));

		Arrays.sort(array);

		System.out.println("排序后:"+Arrays.toString(array));

		int index = Arrays.binarySearch(array, 20);  

		// 要查询的值不在数组中, (-(插入点) - 1) =返回值

		System.out.println("index:"+index);

调用:Arrays.binarySearch(数组名, 要查找的值);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值