关于Java数组的那些事
程序员文章站
2022-05-06 18:19:45
...
关于Java数组的那些事
数组是相同数据类型的元素的有序集合。
为什么说是有序的呢?
访问数组元素是通过数组下标进行的,下标从0开始,依次递增直到 length - 1(length为数组长度),所以可以理解为有序的。当然这是我个人的看法。
首先,来谈谈如何初始化数组?
两种初始化方法:动态初始化、静态初始化。(这里以一维数组为例)
//动态初始化
int[] arr1 = new int[9];//声明了一个数组长度为9的一维数组
//除了上面的初始化方式,还可以拆分为两步
int[] arr2;
arr2 = new int [9];//这两种都属于动态初始化,只是方式存在差异
//静态初始化,声明数组长度为5的一维数组
int[] arr3 = new int[]{1,2,3,4,5};//静态初始化的标准格式
//也可以分为两步初始化
//int[] arr3;
//arr3 = new int[]{1,2,3,4,5};
int[] arr4 = {1,2,3,4},5;//静态初始化的省略格式,不能分为两步
既然声明了一个数组,那么数组是储存在哪里的呢?
当使用"new"关键字创建数组对象后,会在堆中为数组分配相应的内存空间。
总的来说,就是当你使用"new"关键字创建一个对象时,就会在堆中为该对象分配相应的内存空间。(想要了解更多关于内存分配的小伙伴可以前往这里https://blog.csdn.net/shimiso/article/details/8595564?utm_source=app&app_version=4.5.5
)
数组初始化,那么如何访问数组元素进行赋值和获取元素值呢?
int[] arr = new int[5];//数组元素的值默认为0
//数组元素赋值
for(int i = 0; i < 5; i++){
arr[i] = 1;//这里就将数组下标为i的元素赋值为1
}
//既然对数组赋值了,那么如何获取数组元素的值
System.out.println(arr);//这样是否会输出数组元素的值呢
//答案是不会,这样输出的是数组的内存地址哈希值[[email protected]#########]
//方括号代表是数组,大写字母I代表为整型,后面的#则是十六进制数
//这里介绍一种循环:for each循环
for(int x:arr){
System.out.println(x);
//这样就能输出数组元素的值了,当然你也可以使用普通的for循环来进行访问
//for(int i = 0; i < 5; i++){
// System.out.println(arr[i]);
//}
}
以上就是Java数组中关于一维数组的简单介绍。