系列文章目录
Java学习(一)
Java学习(二)数据类型及类型转换
Java学习(三)Java运算符
前言
本文介绍Java数组的相关知识。
一、数组是什么?
数组可以存放多个同一类型的数据。数组本身也是一种数据类型——引用类型。即数组就是一组数据。
二、数组的使用
1.动态初始化
数组的定义
- 使用方式一:
数据类型 数组名[] = new 数组类型[大小] 等价于 数据类型[] 数组名 = new 数组类型[大小]。 - 使用方式二:
先声明数组,数组类型 数组名[] 等价于 int[] 数组名;再创建数组,数组名 = new 数据类型[大小];
//(1) 第一种动态分配方式
double scores[] = new double[5];
//(2) 第二种动态分配方式,先声明数组,再 new 分配空间
double scores[];
scores = new double[5];
2.静态初始化
当知道数组有多少元素时,可以使用静态初始化。
数据类型 数组名[] = {元素值,元素值…}
三、数组的使用细节和注意事项
- 数组是多个相同类型数据的组合,实现对这些数据的统一管理
- 数组中的元素可以是任何数据类型,包括基本类型和引用类型,但不能混用
- 数组创建后,如果没有赋值,有默认值:int 0,short 0,byte 0,long 0,float 0.0,double 0.0,char \u0000,boolean false,String null
- 数组的小标是从0开始的
- 数组属于引用类型,数组型数据是对象(object)
四、数组赋值机制
- 基本数据类型赋值,这个值就是具体的数据,而且相互不影响, n2值的改变不会影响n1。
int n1 = 2;
int n2 = n1;//(值拷贝)
n2 = 80;
System.out.println("n1=" + n1); //10
System.out.println("n2=" + n2); //80
- 数组在默认情况下是引用传递,赋的值是地址。
int[] arr1 = {1,2,3};
int[] arr2 = arr1; //地址拷贝
arr2[0] = 10;
System.out.println("arr2[0]=" + arr2[0]); //10
System.out.println("arr1[0]=" + arr1[0]); //10
五、数组拷贝(内容赋值)
int[] arr1 = {10,20,30};
//开辟新的数据空间
int[] arr2 = new int[arr1.length];
for(int i = 0; i < arr1.length; i++){
arr2[i] = arr1[i];
}