数组
概念
用于存储具有相同数据类型的容器称之为数组,可以存储指定个数的相同类型的数据并使用同一的标识符进行命名管理与获取
使用
大致分为四个步骤、声明、创建、赋值、使用
声明创建赋值与变量的创建相同,只不过变量是针对于基本数据类型的创建,但是其实本质的执行过程是一样的,只不过存储数据的位置可能有所区别
声明
语法:
//与变量声明语法相似,但是为了与变量的声明加以区分,所以使用[]进行声明
//1、数据类型 [] 数组名;
//2、数据类型 数组名 [];
创建
语法:
//通过new关键字创建数组对象,在创建时根据实际的需求进行相应创建方式
//1、数组名=new 数据类型[长度];
//2、数组名=new 数据类型[]{数据1,数据2,数据3...};
//3、数据类型 [] 数组名={数据1,数据2,数据3...}
赋值
语法:
//数组名[下标]
//下标范围0~legth-1
使用
语法:
//数组名[下标]
//下标范围0~legth-1
数组的声明创建赋值使用
public class ArrayTest {
public static void main(String[] args) {
//声明
//1、数据类型[] 数组名;
//创建一个存储指定数据类型的数组名为数组名;
int [] arr1;//创建一个存储int类型的数组名为arr1
//2、数据类型 数组名 [];
//创建一个存储指定数据类型的名为数组名的数组;
int arr2 [];//创建一个存储int类型 名为arr2的数组
//创建
//1、动态创建
//先将存储数据的容器进行定义之后进行赋值使用,创建时使用默认值进行数据的填写
//之后再使用时在进行动态添加
//数组名 =new 数据类型[长度];
//创建一个新的 保存指定数据类型的 长度为指定长度的数组并将数据地址赋值给
//已经创建好的数组对象中
//也可以在创建时一同声明
//创建的数据会使用默认值填充
arr1=new int [3];
//0 0 0 0 0
//2、静态创建
//在创建数组存储数据时,直接将要存储的数据静态的填入,在创建过程中会自动
//使用这些数据进行数组的创建 与变量创建int a=1;类似
//(1)数组名 =new 数据类型[]{数据1...};
//创建一个新的指定类型的数组存储{}中的数据
//在进行创建时会依次获取数据与创建的类型相比较,创建数据个数长度的数组
//使用指定数据进行填充
arr2=new int[]{1,3,4,5,32,1,23,2};
//(2)数据类型 [] 数组名={数据1...};
//将数组的声明与创建一同进行
//声明指定数据类型的数组保存使用指定数据静态创建的数组数据
//使用这种语法创建必须将声明与创建一同书写
int [] arr3={1,2,3,4,5};
//赋值
//数组中存在属性length 用于返回数组存储数据的个数(可以存储数据)
//System.out.println(arr2.length);
//在进行数组使用时,由于数值使用的统一的标识符进行所有数据的管理,所以
//通过内部通过固定索引的形式 进行数据的划分
//索引的范围0~length-1
//因为数组索引从0开始 所以最后一位索引为最大长度-1
//在进行赋值时一般是为动态创建数组赋值
//赋值的过程就是对数组对应数据修改的过程
arr1[0]=1;
arr1[1]=2;
arr1[2]=3;
//使用
//与赋值语法相同,当使用赋值运算符进行数据赋值时就是赋值
//直接使用数组名[下标]则会直接返回对应数据
System.out.println(arr1[0]);
System.out.println(arr1[1]);
System.out.println(arr1[2]);
}
}
特点
1、存储具有相同数据类型(在数组创建时指定存储数据类型。不允许更改)
2、使用统一的标识符管理所有数据
3、数组在创建时必须指定存储数据的类型与长度
4、数组存储的类型与长度在创建时就已经决定,在使用过程中不允许更改
5、数组既可以存储基本数据类型也可以存储引用数据类型
多维数组
在java中并没有多维数组的语法,所谓的多维数组就是依据与java数组的概念进行书写的
(1)数组既可以存储基本数据类型也可以存储引用数据类型
(2)数组是引用数据类型
多维数组就是数组中存储数引发的概念
多维数组的使用
与数组一样(本质就是数组)
声明
//声明
//数组中存储数组就是二维数组
//数组的每一块保存的是另一个数组的地址
//int[] 就是保存数据的类型
int[] [] arr1;
创建
//创建
//第一个[]中是当前数组存储数据个数
//第二个[]中是存储的每个数组存储数据的个数
arr1=new int[3][4];
//0 0 0 0
//0 0 0 0
//0 0 0 0
//这种方式创建的数组 保存的所有数组长度统一创建
arr1=new int [3][];
//可以动态的决定每个数组的长度
arr1[0]=new int[1];
arr1[1]=new int[2];
arr1[2]=new int[3];
//0
//0 0
//0 0 0
arr1=new int[][]{{1},{4,5},{7,8,9}};
//1 2 3
//4 5 6
//7 8 9
int []oneArr={1,2,3};
//数组使用静态创建使用{}将所有数据包裹,数据与数据直接使用,分割
int [][]arr2={{1,2,3},{4,5,6},{7,8,9}};
//1 2 3
//4 5 6
//7 8 9
赋值
//赋值
//数组名[下标]
//数组名[行号][列号](从0开始)
使用
//使用
//数组名[行号][列号](从0开始)
//遍历二维数组
//本质是数组 所以先当作一维数组遍历
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr1[i].length; j++) {
System.out.print(arr1[i][j]+" ");
}
System.out.println();
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/101181.html