Java中数组的定义
数组是一组相同数据类型的数据的集合,数组中的每一个数据被称作元素。在数组中可以存放任意类型的元素,但同一个数组里存放的元素类型必须一致,每个数组元素可以通过一个下标来访问。
优点:查询或检索某个下标的元素时,效率极高
缺点:在数组上进行增删操作时,效率低,会涉及到元素向前或向后位移
数组的定义格式:
数据类型[] 数组名 = new 数据类型[容量];
数据类型[] 数组名 = {数组元素};
数组中的注意事项
关于数组需要注意的几点:
1.数组属于引用数据类型
2.数组名是定义的变量名,容量是该数组中可以容纳的数组元素的个数,容量一旦确定不可更改
3.数组中每个元素都有一个索引,也叫下标,下标从"0"开始,访问数组中的元素可以通过"数组名[下标]"的形式。数组中最小的索引是0,最大的索引是"数组的长度-1",超出范围是无效的
4.为获得数组的长度,提供一个"length"属性。通过"数组名.length"的方式,获取元素的个数,即数组的长度
如果下标越界会报异常:
ArrayIndexOfBoundsException
数组下标越界异常
数组的内存分析
引用数据类型补充
开发中引用数据类型
用于保存其他内存空间的首地址,保存地址之后,CPU可以通过对应的引用数据类型,得到相应的地址,从而访问地址对相应的内存空间
数组和循环的使用
/*
获取数组容量的方式:
数组名.length 属性
*/
找出最大值:
public class Demo {
public static void main(String[] args) {
//创建一个数组
int[] arrays = {1,2,3,4,5};
//首先假设数组下标为0的元素最大,再去循环比较
int max = arrays[0];
for (int i = 1; i < arrays.length; i++) {
if (arrays[i] > max) {
max = arrays[i];
}
}
System.out.println("数组中的最大值是:" + max);
}
}
数组地址转移问题
public static void main(String[] args) {
int[] arr1 = new int[10];
int[] arr2 = new int[10];
arr1[5] = 100;
arr2[5] = 500;
System.out.println(arr1[5]);//100
System.out.println(arr2[5]);//500
arr1 = arr2;
arr1[5] = 2000;
System.out.println(arr1[5]);//2000
System.out.println(arr2[5]);//2000
}
数组和方法之间的关系
//Java中如何使用数组成为方法的参数,以及使用方法
public static void main(String[] args) {}
格式:
public static 返回值类型 方法名(arrayType[] arrayName)
arrayName是一个数组类型的变量,引用数据类型
class Demo {
public static void main(String[] args) {
//定义一个int类型的数组
int[] array = new int[10];
//给数组赋值
assginIntArray(array);
//获取数组中的元素
printIntArray(array);
}
/*需求:给一个Int类型的数组赋值
方法分析:
public static
返回值:
void
方法名:
assginIntArray
形参列表:
int[] arr
public static void assginIntArray(int[] arr)
*/
public static void assginIntArray(int[] arr) {
for(int i = 0; i < arr.length; i++) {
arr[i] = i + 1;
}
}
/*需求:获取一个int类型的数组元素
方法分析:
public static
返回值:
void
方法名:
printIntArray
形参列表:
(int[] arr)
public static void printIntArray(int[] arr)
*/
public static void printIntArray(int[] arr) {
for(int i = 0; i < arr.length; i++) {
System.out.println("array[" + i + "]=" + arr[i]);
}
}
}
Arrays类
在Java中提供了一个数组的工具类"java.util.Arrays",Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用。
常用方法:
//对数组排序,按照升序,再次遍历数组时,展示为升序排列
sort(int[] arr)
//打印数组元素
toString(任何数据类型)
//查找数组元素,能对排序好的数组进行二分查找法操作
binarySearch(int[] asrr, int find)
二分查找法
本文暂时没有评论,来添加一个吧(●'◡'●)