第三章 数组

本文详细介绍了Java 1.8中数组的基础概念,包括数组的定义、初始化、内存布局,以及二维数组的创建、操作和常见异常处理。重点讲解了静态和动态初始化、默认值、长度获取和内存解析,并通过实例演示了数组的应用和陷阱。
摘要由CSDN通过智能技术生成

版本:JDK1.8
注:观看尚硅谷视频的复习笔记

一、数组的概述

1、是多个相同类型数据按一定顺序排列的集合

2、数组是引用数据类型

3、创建数组对象会在内存中开辟一块连续的内存空间

4、数组的长度一旦确定,就不能修改

二、数组的初始化

1、数组的初始化

//1.静态初始化
int[] ids;//声明
ids = new int[]{1001,1002,1003};//初始化
//2.动态初始化
String[] names = new String[5];

2、数组初始化默认值

byte(0)、short(0)、int(0)、long(0L)、float(0.0f)、double(0.0)、char(0或‘\u0000’)、boolean(false)、引用类型(null)

3、数组的赋值

names[0] = "王明";
names[1] = "王贺";

4、数组的长度

数组名.length

三、数组的内存解析

在这里插入图片描述
栈中存数组名指向堆空间中的数组首地址
在这里插入图片描述

四、二维数组的使用

1、数组的初始化

//1.静态初始化
int[][] arr = new int[][]{{2,3},{2,4,3},{1,3,4,5,6}};
//2.动态初始化
String[][] names = new String[5][3];
String[][] names2 = new String[5][];
//给names2的第二维赋数组
names2 = new String[4];
//3.类型推断
int[][] arr = {{2,3},{2,4,3},{1,3,4,5,6}};

2、数组长度

arr.length
arr[1].length

3、数组默认值

arr[0];//地址值
arr[0][0];/0

五、数组常见异常

public class ArrayExceptionTest {
	public static void main(String[] args) {
		int[] arr = new int[]{1,2,3,4,5};
        //1. 数组角标越界的异常:ArrayIndexOutOfBoundsExcetion
		//情况一:
//		for(int i = 0;i <= arr.length;i++){
//			System.out.println(arr[i]);
//		}
		//情况二:
//		System.out.println(arr[-2]);
//		System.out.println("hello");
		
		//2.空指针异常:NullPointerException
		//情况一:
//		int[] arr1 = new int[]{1,2,3};
//		arr1 = null;
//		System.out.println(arr1[0]);
		
		//情况二:
//		int[][] arr2 = new int[4][];
//		System.out.println(arr2[0][0]);
		
		//情况三:
		String[] arr3 = new String[]{"AA","BB","CC"};
		arr3[0] = null;
		System.out.println(arr3[0].toString());
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值