java笔记(3) 数组的创建和使用
数组的特点
- Java中数组的长度是确定的,一旦被创建,长度即固定,不可改变。
- 一个数组中的元素类型必须相同,不允许出现混合类型。
- 数组中的元素可以是任何数据类型,包括基本数据类型和引用类型。
- 数组变量数于引用类型,数组也可以看成是一个对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,而在Java中,对象是存在于堆中的,因此,无论数组中保存的是基本数据类型还是引用数据类型,数组对象本身都是在堆中的。
声明
数组必须先声明后使用,数组的声明有两种方法:
1. C语言风格声明: dataType arrayRefVar[];
2. Java风格声明: dataType[] arrayRefVar;
一般推荐使用第二种Java风格的声明方式。
创建数组
声明的数组并不具备物理空间,需要使用new操作符来创建数组,为其分配内存空间:
dataType[] arrayRefVar = new dataType[arraySize]
初始化
数组初始化是指为数组元素赋值,有两种方式:静态初始化和动态初始化:
1. 静态初始化
int[] a = {1,2,3}; //创建的同时完成赋值,数组长度通过用来进行初始化的数据确定为3
String[] strs = {new String("hello"), new String("world")};
2. 动态初始化
int[] a = new int[2]; //指定数组长度为2
a[0] = 1;
a[1] = 2;
数组是引用类型,其元素相当于类的实例变量,一经分配内存空间,即按照实例变量的规则进行默认初始化:
int[] a = new int[2];
System.out.println(a[0]); //未经初始化即可直接使用,输出结果为0.
索引
数组中的元素可以通过索引值来访问,数组的索引是从0开始的,可以通过arrays.length来获取数组长度。因此数组在引用时其下标合法边界即为[0,length-1],如果在访问数组是使用了超出合法边界的下标,就会报错!
int[] nums = new int[10]; //声明并创建了一个长度为10的int类型数组,数组索引为0~9,nums.length=10。
nums[0] = 5; //为nums数组第一个元素赋值为5
System.out.println(nums[10]); //数组合法边界为[0,9],该行代码会导致"ArrayIndexOutOfBoundingException" 数组下标越界异常
多维数组
多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其中每一个元素都是一个一维数组。
int[][] array = {{1,2}{2,3}{3,4}{4,5}};//定义并初始化了一个2*4的二维数组,可以看成是4个2元素的一维数组。
/*
第一个数组:array[0] --> 1,2 --> array[0][0], array[0][1]
第二个数组:array[1] --> 2,3 --> array[1][0], array[1][1]
第三个数组:array[2] --> 3,4 --> array[2][0], array[2][1]
第四个数组:array[3] --> 4,5 --> array[3][0], array[3][1]
*/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?