数组就是一个容器,用来存一批同种类型的数据。
一、静态初始化数组
1.1 定义方式
语法:
- 完整格式:数据类型 [ ] 数组名 = new 数据类型 []{ 元素 1 ,元素 2 ,元素3… };
- 简化格式:数据类型 [ ] 数组名 = { 元素 1 ,元素 2 ,元素 3 ,… };
tips:
- “数据类型 [ ] 数组名”也可写成 “数据类型 数组名 [ ] ” 。
- 什么类型的数组只能存放什么类型的数据。
示例:
public class test {
public static void main(String[] args) {
//完整格式定义数组
int[] arr1=new int[]{1,2,3,4};
char[] arr2=new char[]{'a','b','c','d','e'}; //注意字符用单引号,字符串用双引号
//简单格式定义数组
double[] arr3={3.14,4.45,6.68,2.1,3.5};
}
}
}
tips(仅限Intellij IDEA):
1. 在写代码的时候,我们先输入“sout”,然后回车,可以快速得到输出语句,如下图所示:
2.定义main函数也是同理,我们先输入“main”,然后回车,可以快速得到main函数框架。
1.2 数组的访问
数组变量名中存储的是数组在内存中的地址,数组是一种引用数据类型。
我们访问数组中的元素可以通过数组下标索引的方式,语法:数组名[索引],数组的下标索引是从0开始的,到数组长度-1结束。访问数组时,下标索引不能超过数组最大索引,否则会出 bug ,出现索引越界的异常提示。
我们可以通过数组的方法,获取数组的长度,语法:数组名.length。
示例:
public class test {
public static void main(String[] args) {
//完整格式定义数组
int[] arr1=new int[]{1,2,3,4,5};
char[] arr2=new char[]{'a','b','c','d','e'}; //注意字符用单引号,字符串用双引号
//简单格式定义数组
double[] arr3={3.14,4.45,6.68,2.1,3.5};
//打印测试
System.out.println(arr1); //输出的是数组在内存中的地址
System.out.println(arr1[0]);
System.out.println(arr1[4]);
System.out.println(arr1.length);
}
}
输出:
[I@4eec7777
1
5
5
1.3 数组的遍历
数组的遍历一般结合for循环或者while循环,Java的循环和C语言的循环类似,本专栏不再赘述,详细可看C-循环语句_程序的内外循环-CSDN博客。
示例:
public class test {
public static void main(String[] args) {
//完整格式定义数组
int[] arr1=new int[]{1,2,3,4,5};
char[] arr2=new char[]{'a','b','c','d','e'}; //注意字符用单引号,字符串用双引号
//简单格式定义数组
double[] arr3={3.14,4.45,6.68,2.1,3.5};
//for循环遍历数组
for(int i=0;i<arr2.length;i++){
System.out.println(arr2[i]);
}
//while循环遍历数组
int j =0;
while(j<arr3.length){
System.out.println(arr3[j]);
j++;
}
}
}
输出:
a
b
c
d
e
3.14
4.45
6.68
2.1
3.5
二、动态初始化数组
2.1 定义方式
数组的动态初始化,即定义数组时先不存入具体的元素值,只确定数组存储的数据类型和数组的长度。但访问方式和遍历方式与静态初始化数组相同。
语法:数据类型 [ ] 数组名 = new 数据类型 [ 长度 ];
示例:
public class test {
public static void main(String[] args) {
//先动态定义
int[] arr4=new int[4];
//后赋值
arr4[0]=23;
arr4[1]=21;
arr4[2]=37;
arr4[3]=34;
//遍历
for(int n=0;n<arr4.length;n++){
System.out.println(arr4[n]);
}
}
}
输出:
23
21
37
34
2.2 动态初始化数组元素默认值
代码验证:
public class test {
public static void main(String[] args) {
int[] arr1=new int[3];
boolean[] arr2=new boolean[6];
System.out.println(arr1[2]);
System.out.println(arr2[2]);
}
}
输出:
0
false