尚硅谷JAVA笔记第三章--数组

一、数组概述

二、一维数组

// 声明与初始化
	// 数组初始化后长度就确定了
	// 静态: 数组初始化与数组元素的赋值同时进行
	int[] ids = new int[]{1001,1002,1003}
	int ids[] = new int[]{1001,1002,1003} //也行
	int[] ids = {1,2,3} //也行,类型推断
	// 动态:数组初始化与数组元素的赋值分开进行
	String[] names = new String[5]

// 调用数组元素
	names[0]

// 获取数组长度
	names.length

// 遍历数组
	for(i=0;i<names.length;i++){
		System.out.prinln(names[i])
	}
	
// 数组元素默认初始化值
	// 整型:0
	// 浮点型:0.0
	// char型:0或'\u0000',而非'0'
	// boolean型:false(0)
	// String等引用类型:null

// 数组的内存解析
	//见下图

在这里插入图片描述
在这里插入图片描述

三、多维数组

// 声明与初始化
	int[][] arr1 = new int[][]{{1,2,3},{4,5},{6,7}}
	int[] arr1[] = new int[][]{{1,2,3},{4,5},{6,7}}//也行
	int[][] arr1 = {{1,2,3},{4,5},{6,7}}//也行,类型推断
	String[][] arr2 = new String[3][2]
	String[][] arr2 = new String[3][] //也行
	
// 调用数组元素
	arr1[0][1]

// 获取数组长度
	arr1.length

// 遍历数组
	for(i=0;i<arr1.length;i++){
		for(j=0;j<arr1[i].length;j++){
			arr1[i][j]
		}
	}
	
// 数组元素默认初始化值
	// arr1[0]  存的是地址值
	// 同理,arr1也是地址值
	//见下图

在这里插入图片描述

// 数组的内存解析
// 见下图

在这里插入图片描述

四、数组中常见算法

内容较多,拆分了一下
JAVA数组中常见算法

五、Arrays工具类的使用

// 常用
boolean equals(int[] a, int[] b) // 判断两个数组是否相等
String toString(int[] a) // 输出数组信息
void fill(int[] a, int val) // 将指定值填充到数组之中
void sort(int[] a) // 对数组进行排序
int binarySearch(int[] a, int key) // 对排序后的数组进行二分查找指定的值

// 以排序和输出为例
int[] array1 = new int[]{1,4,-3,5,0}
Arrays.sort(array1)
System.out.println(Arrays.toString(array1))

六、数组中常见异常

// 下标越界
// ArrayIndexOutOfBoundsException

// 空指针异常(三种情况如下)
// NullPointerException

请添加图片描述


版权声明:本文为weixin_44596902原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。