第四章 数组

这篇博客详细介绍了Java中数组的概念,包括一维数组和二维数组的创建、初始化、获取长度以及基本操作。内容涵盖声明数组、为数组分配内存、初始化数组、遍历数组、填充和批量替换元素、复制数组以及数组的排序方法,如冒泡排序和选择排序。此外,还介绍了如何使用Arrays类的sort()方法进行排序。
摘要由CSDN通过智能技术生成

4.1 数组的概述

数组是具有相同数据类型的一组数据的集合,例如,球类的集合--足球、篮球、羽毛球等;器集合--电视机、洗衣机、电风扇等。在程序设计中,可以将这些集合称为数组。数组中的每个元素具有相同的数据类型。在 Java 中同样将数看作是一个对象,虽然基本数据类型不是对象由基本数据类型组成的数组则是对象。在程序设计中引入数组可以更有效地管理和处理数据。我们经常使用的数组包括一维数组和二维数组等。

4.2 一堆数组

一维数组​​​​​​​时至上是一组相同类型数据的线性集合,例如学校中学生们排列的一字长队就是一个数组,每一位学生都是数组中的一个元素。再比如快捷酒店,就相当于一个一维数组,每一个房间
都是这个数组中的元素。当在程序中需要处理一组数据, 或者传递一组数据时,就可以使用数组实现。本节将介绍一维数组的创建及使用。

4.2.1 创建一堆数组

数组元素类型决定了数组的数据类型,它可以是Java中任意的数据类型,包括基本数据类型和其他引用类型。数组名字为一个合法的标识符,符号“[ ]”指明该变量是一个数组类型变量。单“[ ]”表示要创建的数组是一个一维数组。
声明一维数组有两种方式:  

数组元素类型   数组名字[];  

数组元素类型[]    数组名字;

声明一维数组,语法如下:


int arr[];       //声明int型数组,数组中的每个元素都是int型数值 
double[] dou;       //声明 double 型数组,数组中的每个元素都是 double 型数值

声明数组后,还不能访问它的任何元素,因为声明数组只是给出了数组名字和元素的数据类型要想真正使用数组,还要为它分配内存空间。在为数组分配内存空间时必须指明数组的长度。为数组分配内存空间的语法格式如下:


数组名字=new数组元素类型[数组元素的个数];

数组名字:被连接到数组变量的名称。
数组元素个数:指定数组中变量的个数,即数组的长度。为数组分配内存,语法如下:


arr=new int[5]; //数组长度为 5 


以上代码表示要创建一个有5个元素的整型数组,并且将创建的数组对象赋给引用变量anr,即引用变量arr引用这个数组,
上面代码中arr为数组名称,括号“[ ]”中的值为数组的下标,也叫索引。数组通过下标来区分不同的元素,也就是说,数组中的元素都可以通过下标来访问。这就相当于刚才比喻的快捷酒店,我们想要找到某个房间里的人,只需要知道这个人所在房间号。这个房间号就相当于数组的下标。
数组的下标是从0开始的。由于创建的数组arr中有5个元素,因此数组中元素的下标为 0~4在声明数组的同时也可以为数组分配内存空间,这种创建数组的方法是将数组的声明和内存的分配合在一起执行,语法如下:
数组元素类型数组名=new数组元素类型[数组元素的个数];                                                             声明并为数组分配内存,语法如下: int month[] = new int[12];
上面的代码创建数组month,并指定了数组长度为12。这种创建数组的方法也是Java程序编写过程中普遍的做法。

4.2.2 初始化一维数组

数组可以与基本数据类型一样进行初始化操作,也就是赋初值。数组的初始化可分别初始化组中的每个元素。数组的初始化有以下3种方式:

int a[ ]={1,2,3};

int b[ ]= new int[ ]{4,5,6};

int c[ ] = new int[3];

c[0] = 7;

c[1] = 8;

c[2] = 9;

从中可以看出,数组的初始化就是包括在大括号之内用逗号分开的表达式列表。用逗号“”分隔数组中的各个元素,系统自动为数组分配一定的空间。第一种初始化方式,将创建3个元素的数组,依次为 1、2、3:第二种初始化方式,创建3个元素的数组,依次为 4、5、6:第三种初始化方式先给数组创建了内存空间,再给数组元素逐一赋值。

4.2.3 获取数组长度

我们初始化一维数组的时候都会在内存中分配内存空间,内存空间的大小决定了一维数组能够储存多少个元素,也就是数组长度该如何获取数组长度呢?我们可以使用数组对象自带的 length属性。语法如下:

arr.length
 an :数组名。
length :数组长度属性,返回 int 值。

 例4.1

 
public class jay {//创建类
	public static void main(String[] args) {//主函数
		char a[] = { 'A', 'B', 'c', 'D' }; // 创建一维数组 
		System.out.println("数组a的长度为"+a.length); //输出数组a的长度
		char b[] =a; //创建一维数组b,直接等于数组a
		System.out.println("数组b的长度为"+b.length); //输出数组b的长度
	}
}

4.2.4 使用一维数组

在Java中,一维数组是最常见的一种数据结构。下面的实例是使用一维数组将1~12月份各月份的天

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值