一:什么是数组呢?
数组指的是一种容器,可以用来存储同种数组类型的多个值;
例如:int a=10; int d=40; int b=20.....下
二:数组的定义入
格式一:数据类型 [ ] 数组名; 范例:int [ ] arr
格式二:数据类型 [ ] 数组名; 范例:int arr [ ]
三:数组的静态初始化
初始化:就是在内存中,为数组容器开辟空间,并将数组存入容器中
简化格式:数据类型 [ ] 数组名={元素1,元素2,元素3 }
范例:int [ ] arr = { 22 , 33 , 44} //数组长度为3
package 数组;
public class Test02 {
public static void main(String[] args) {
//需求1:定义数组存储5个学生的年龄
//方式一 两种方式用那种都可以
int[]student01=new int[]{22,33,44,55,66};
//方式二
int[]student02={22,33,44,55,66};
//需求2: 定义数组存储3个学生的姓名
//方式一 两种方式用那种都可以
String[] arr3 = new String[]{"zhangsan","lisi","wangwu"};
//方式二
String[] arr4 = {"zhangsan","lisi","wangwu"};
//需求3: 定义数组存储4个学生的身离 1.93
//方式一 两种方式用那种都可以
double[] arr5 = new double[]{1.93,1.75,1.73,1.811};
//方式二
double[] arr6 = {1.93,1.75,1.73,1.81};
}
}
扩展:数组的地制值:输出打印的是数组的地制值,而不是打印元素,是根据地址值找到在堆里面的元素
数组创建好以后,就不会改变
推荐视频数组-09-数组的内存图_哔哩哔哩_bilibili
//视频讲述数组的内存图
package 数组;
public class Test03 {
public static void main(String[] args) {
//int地制值
int [] arr={11,22};
System.out.println(arr);//[I@4554617c
//double地制值
double [] d={1.90,1.73,7.21};
System.out.println(d);//[D@1540e19d
}
}
//扩展:
//解释一下地址值的格式含义 [D@1540e19d
//[ : 表示当前是一个数组
//D: 表示当前数组里面的元素都是double类型的
//@:表示一个间隔符号。(固定格式)
//776ec8df:才是数组真正的地址值, 《十六进制)
//平时我们习惯性的会把这个整体叫做数组的地址值。
四:获取数组的元素和改变元素的数据
数组遍历从0开始 0,1,2,3,4,5依次遍历
package 数组;
public class Test04 {
public static void main(String[] args) {
//利用索引对数组中的元素进行访问
//1.获取数组里面的元素
// 格式: 数组名[索引]
int arr [] ={1,2,3,4};
int a1=arr[0];
System.out.println(a1);
//获取数组中的第一个元素 数组遍历从0开始 0对应的就是1 1对于的就是2.......
//其实就是0索引上对应的元素
//2.把数据存储到数组当中
//格式:数组名[索引] = 具体数据/变量:
//细节:一旦覆盖之后,原来的数据就不存在了
arr[0] = 100;
System.out.println(arr[0]);//100
}
}
lenght获取数组的长度
package 数组;
public class Test05 {
public static void main(String[] args) {
//1.定义一个数组
int[] arr = new int[]{1, 2, 3, 4};
//方式一
// System.out.println(arr[0]);
// System.out.println(arr[1]);
// System.out.println(arr[2]);
// System.out.println(arr[3]);
//方式二
//System.out.println(arr.length);//4
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
五:数组的动态初始化
动态初始化:初始化时只指定数组长度,由系统为数组分配初始值
格式:数据类型数组名 = new 数据类型数组长度1
范例: intl] arr = new int[3];
package 数组;
public class Test09 {
public static void main(String[] args) {
//1.定义一个数组,用来存放50个学生的姓名
String [] arr=new String[50];
arr[0]="zhangsan";
arr[1]="lisi";
System.out.println(arr[0]);//zhangsan
System.out.println(arr[1]);//lisi
数组默认初始化值的规律
整数类型:默认初始化值0
小数类型:默认初始化值0.0
字符类型:默认初始化值"/u0000’空格
布尔类型:默认初始化值 false
引用数据类型:默认初始化值 nul1
}
}
动态初始化和静态初始化的区别