话说有一回我在学校里遇到个难题,班主任让我把全班30个学生的成绩存到程序里去。要是没有数组这种神器,那我得先声明30个变量,再给它们一个一个赋值。要是换成1000人的班级呢?这工作量简直能让笔尖晕过去。数组这时候就该出场了。你看,数组其实就是把一大堆同类型的数据排排坐,每个位置都有个“小标签”(下标),就像图书馆的藏书卡一样方便找到。 现在我们来聊聊怎么用Java创建数组。其实就两步:先声明它是什么类型的数组(比如整数、字符串这些),再告诉JVM要准备多大的地方。比如我要存3个整数,就写一句“int[] arr = new int[3];”。注意咯,这可不是把[]写在变量名后面哦。 有了数组之后,你想往里面填数据也很方便。有两种方法:一种是像挤牙膏一样静态初始化,直接把数塞进大括号里;另一种是先划地盘再逐个填坑。不管是哪种办法,效果都一样。比如我要存1、2、3这三个数,既可以写成“int[] a = {1, 2, 3};”,也可以先划两个格子出来再填进去。 那我们该怎么访问数组里的数据呢?记住一点就好:索引从0开始数!最大的那个数就是“数组名.length - 1”。想拿到里面的数就写“数组名[索引]”,想改个数就写“数组名[索引] = 值”。比如说我有个存了1、2、3、4、5的数组arr,要把第0个位置改成6,就把“arr[0]”赋值成6,最后用System.out.println打印一下就能看到结果了。 那这些数到底存在哪儿呢?程序启动后JVM会在堆内存里找个连续的大块地给数组住下。记住这点很重要:变量里存的其实是这个大块地的地址(也就是引用),而不是真正的数据本身。所以说数组属于引用类型,跟基本类型不一样哦。 最后咱们来总结一下为啥说数组是个“聪明”的存储方案。它能把30个变量直接合并成1个数组,代码量一下子少了好多;因为所有元素都是同一种类型,不管是循环查找还是排序都能一视同仁地处理;再加上堆上的存储空间是连续的,符合局部性原理,让CPU的缓存命中率更高。 所以下次再碰到一大堆同类型数据的时候,千万别傻乎乎地去复制粘贴变量了。还是让数组帮你一次搞定吧!