围绕以下4点介绍:
1、什么是数组
2、数组的作用
3、数组的特点
4、数组的使用
一、什么是数组
- 数组是
有限
个相同类型
的数据的有序
集合; - 其中,每一个数据称作一个
数组元素
; - 每个数组元素可以通过一个
下标
来访问它们.
二、数组的作用
用来存储固定大小
的同类型
元素。
三、数组的特点
长度确定
。数组一旦被创建,它的大小就是不可以改变的。元素类型相同
。不允许出现混合类型。- 数组中的
元素可以是任何数据类型
,包括基本类型和引用类型。 - 数组变量
属于引用类型
四、一维数组的使用
4.1、声明数组变量
数组类型[] 数组名称; // 首选的方法
或
数组类型 数组名称[]; // 效果相同,但不是首选方法
1、实例1、声明不确定长度的数组
//声明一个String类型的一维数组myList
String[] myList; // 首选的方法
或
String myList[]; // 效果相同,但不是首选方法
在 Java 中,声明一个数组变量 String[] myList; 并不会分配实际的内存空间给数组。它只是创建了一个名为 myList 的变量来保存数组的引用(或者说,内存地址,但是这块地址是游离,不确定的)。此时,myList 的值为 null,表示它没有引用到任何有效的内存区域。
2、实例2、声明确定长度的数组
要实际分配内存空间来创建数组,你需要使用 new 关键字来为数组分配内存。
下面代码将为 myList 变量分配内存空间,容纳 5 个 String 类型的元素。此时,myList 引用的是一个具有 5 个元素的数组对象,每个元素的初始值为 null。
String arr[] = new String[5];//使用new关键字系统就会分配相应大小和数量的内存空间
这里分配了5个String类型的连续内存,并使用arr(数组名)指向这块连续的内存的首地址,即第一块内存的地址。
4.2、初始化数组
1、静态初始化:会初始化数组,同时初始化数组元素
//声明数组
String[] myList;
//静态初始化
myList = new String[]{"never","give","up"};
//或者
myList ={"never","give","up"};
2、动态初始化:会初始化数组,同时初始化数组元素,会给每一个元素初始化一个统一的默认值
格式:数组变量= new 数据类型 [ 数组大小 ];
//动态初始化
myList = new String[3];
3、默认初始化(动态初始化里面隐式包含默认初始化)
整型数组元素的默认初始化值:0
浮点型数组元素的默认初始化值:0.0
字符型数组元素的默认初始化值:0 (或理解为 '\u0000')
boolean型数组元素的默认初始化值: fase
引用数据类型数组元素的默认初始化值:null
例如
System.out.println("获取myList[0]:" + myList[0]);
//输出
null
4.3、数组元素的获取
数组元素的获取需要下表获取
格式:数组名[下标],(其中下表从0开始,最大为数组的长度减一)
System.out.println("获取myList的第一个元素:" + myList[0]);
//输出
获取myList的第一个元素:never
4.4、数组长度的获取
格式:数组名.length
System.out.println("数组myList的长度为:" + myList.length);
//输出
数组myList的长度为:3
4.5、数组的遍历
数组的遍历,即获取数组中每一个元素
//方式1:使用for循环
for (int i = 0; i < myList.length; i++) {
System.out.println(myList[i] + " ");
}
//方式2:使用foreach(JDK 1.5 引进)
for (String value :myList) {
System.out.println(value + " ");
}
//输出
never
give
up
五、二维数组的使用
5.1、二维数组的声明
//声明一个String类型的二维数组myList
String[][] myList;
5.2、二维数组的初始化
1、实例1
//静态初始化二位数组myList
myList = new String[][]{{"when","it","has"},{"is","lost","brave"},{"to","give","up"}};
//动态初始化二维数组a
String a[][] = new String[2][4];//三行三列的数组
2、实例2
int [][]a = new int[2][];
a[0]=new int[2];
a[1]=new int[3];
上述代码创建了二维数组 a,但是只声明了 a 第一维的长度,也就是“行数”
,第二维的长度也就是“列数”
,则是为每一行单独声明的,因此创建的数组 a 是“不定长数组”,其内存分配下图所示。
5.3、二维数组的数组元素的获取
System.out.println(myList[0][0]);
///输出
when
5.4、二维数组的遍历
public class HelloWorld {
public static void main(String[] args) {
String[][] myList;
myList = new String[][]{{"when","it","has"},{"is","lost","brave"},{"to","give","up"}};
for (int i = 0; i < myList.length; i++) {
for (int j = 0; j < myList[i].length; j++) {
System.out.print(myList[i][j] + " ");
}
}
}
}
//输出
when it has is lost brave to give up
(翻译:当失去的时候勇敢地放弃)
与君共享
👉👉👉👉👉最后,有兴趣的小伙伴可以点击下面链接,这里有我整理的完整Java学习博客内容,谢谢~ 🌹🌹🌹🌹🌹