数组介绍
- 数组概念: 数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致。
- 数组定义格式详解:
数组存储的数据类型: 创建的数组容器可以存储什么数据类型。
[] : 表示数组。
数组名字:为定义的数组起个变量名,满足标识符规范,可以使用名字操作数组。
new:关键字,创建数组使用的关键字。
数组存储的数据类型: 创建的数组容器可以存储什么数据类型。
[长度]:数组的长度,表示数组容器中可以存储多少个元素。
注意:数组有定长特性,长度一旦指定,不可更改。
- 数组动态初始化格式:
数组存储的数据类型[ ] 数组名字 = new 数组存储的数据类型[长度];
数组在进行动态初始化时,数组内每位索引对应的元素都为0
例如:
int[] arr=new int[3];
- 静态初始化
格式:
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3…};
int[]arr=new int{1,2,3};
简化格式:数据类型[] 数组名 = {元素1,元素2,元素3…};
int[]arr={1,2,3};
- 数组的访问
索引: 每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。
索引访问数组中的元素:
数组名[索引]=数值,为数组中的元素赋值
变量=数组名[索引],获取出数组中的元素
数组的长度属性: 每个数组都具有长度,而且是固定的,Java中赋予了数组的一个属性,可以获取到数组的长度,语句为: 数组名.length ,属性length的执行结果是数组的长度,int类型结果。由次可以推断出,数组的最大索引值
为 数组名.length-1 。
public static void main(String[] args) {
int[] arr = new int[]{1, 2, 3, 4, 5};
//打印数组的属性,输出结果是5
System.out.println(arr.length);
}
public static void main(String[] args) {
//定义存储int类型数组,赋值元素1,2,3,4,5
int[] arr = {1, 2, 3, 4, 5};
//为0索引元素赋值为6
arr[0] = 6;
//获取数组0索引上的元素
int i = arr[0];
System.out.println(i);
//直接输出数组0索引元素
System.out.println(arr[0]);
}
数组内存原理
- JVM内存划分
public static void main(String[] args) {
int[] arr = new int[3];
System.out.println(arr);//[I@5f150435 }
}
数组常用练习
- 数组的遍历
public static void main(String[] args) {
int[] arr = {11, 22, 33, 44, 55};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
运行结果
- 数组求最值
求最大值:
public static void main(String[] args) {
int[] arr = {5, 15, 2000, 10000, 100, 4000};
//定义变量,保存数组中0索引的元素
int element = arr[0];
//遍历数组,取出每个元素
for (int i = 0; i < arr.length; i++) {
//遍历到的元素和变量比较
// 如果数组元素大于element
if (arr[i] > element) {
//element记录住大值
element = arr[i];
}
}
System.out.println("数组最大值是: " + element);
}
运行结果
求最小值:
public static void main(String[] args) {
int[] arr = {5, 15, 2000, 10000, 100, 4000};
//定义变量,保存数组中0索引的元素
int element = arr[0];
//遍历数组,取出每个元素
for (int i = 0; i < arr.length; i++) {
//遍历到的元素和变量比较
// 如果数组元素小于element
if (arr[i] < element) {
//element记录住小值
element = arr[i];
}
}
System.out.println("数组最小值是: " + element);
}
运行结果