java学习(2)(数组)

本文详细介绍了Java中数组的声明、创建、长度获取、数组操作(如增强for循环、arraycopy、排序、查找、复制和填充),以及二维数组的处理和比较,展示了数组在编程中的重要性。
摘要由CSDN通过智能技术生成

数组

名称相同,下标不同,存储一组类型相同的数据。

声明数组

数组声明不能指定数组元素的个数。

数组是一种引用类型,即数组是对象,继承Object类的所有方法。

double []marks;

String works[];

创建数组

数组的大小可以在运行时指定。

数组一经创建大小不能改变。

marks = new double[5];

String []words = new String[3];

当用new运算符创建一个数组时,系统为数组元素分配了存储空间,并指定默认值。

下标越界时抛出ArrayIndexOutOfBoundsException异常。

属性方法

length

表示数组元素的个数。

System.out.println(marks.length);

增强的for循环

for(type identifier:expression){

//循环体

}

对expression(数组或集合)中的每个元素identifier执行一次循环体中的元素。

double sum=0;

for(double score:marks){

sum=sum+score;

}

arraycopy()

(复制数组,System类中)

不能用下列方法复制数组

int []source={10,20,30};

int []target=source;//这是引用赋值

静态初始化

double []marks = new double[]{79,84.5,63}

该方法不能指定数组大小。

Arrays类(java.util.Arrays)

数组的排序

sort()的排序是稳定的,即相等的元素在排序结果中不会改变顺序。

对象数组排序必须实现Comparable接口。

不能对布尔型数组排序。

public static void sort(int []a):对数组a按自然顺序排序。

public static void sort(int []a,int fromIndex,int toIndex):对数组a中的元素从起始下标fromIndex到终止下标toIndex之间的元素排序。

元素的查找

使用binarySearch()方法前,数组必须已经排序。

binarySearch()方法

根据key查找,找到,返回下标。找不到,返回-1。

public static int binarySearch(int[] a,int key);

public static int binarySearch(Object[] a,Object key);

元素的复制

copyOf()方法

public static boolean[] copyOf(boolean[] original ,int newLength);

public static double[] copyOf(double[] original ,int newLength);

原数组:original

新数组长度:newLength

copyOfRange()方法

public static boolean[] copyOfRange(boolean[] original ,int from,int to);

public static double[] copyOfRange(double[] original ,int from,int to);

原数组起始坐标:from

结束下标:to(不包含)

填充数组元素

fill()方法

public static void fill(int[] a,int val):用指定的val值填充数组a中的每个元素

public static void fill(int[] a,int fromIndex,int toIndex,int val):用指定的val值填充数组下标从fromIndex到toIndex中的每个元素

数组的比较

数组对象的equals()方法用来比较两个引用是否相同。

Arrays类的equals()

public static boolean equals(boolean[] a,boolean[] b):比较布尔型数组a和b是否相等

public static boolean equals(Object[] a,Object[] b):比较对象数组a和b是否相等

二维数组

二维数组的声明

elementType[][] arrayName;

elementType[] arrayName[];

elementType arrayName[][];

创建二维数组

int [][]matrix = new int[2][3];

也可先为第一维分配空间,然后再为第二维分配空间

int [][]matrix = new int[2][];

matrix[0] = new int[3];

matrix[0] = new int[3];

length方法

matrix,length得到matrix的大小,结果为2

matrix[0].length得到matrix[0]数组的大小,结果为3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值