数组
1.什么是数组,有什么用处
数据类型:
基本数据类型:byte short int long float double boolean char 对值直接进行存储操作
引用数据类型:类类型 接口类型 数组类型 直接1保存都是一个地址,地址在堆区代表一块内存空间,数组在内存空间中保存
数组也是对象,里面的的元素作为数组对象内部的属性
数组可以保存java中所有的数据,但是一旦数组确定,那么数组中保存的数据类型就确定了
2.数组声明
数据类型 [] 变量名;
声明好一个数组,这个数据存放的类型确定,放的是数据类型本身或者能跟这个类型发生自动转换的类型
声明一个数组不代表你能使用这个数组
3.创建
(1)创建一个数组,JVM对数组进行初始化
数据类型 [] 数组名;
数组名 = new 数据类型 [length];
数据类型 [] 数组名 = new 数据类型 [length];
4.初始化
arr[0]=10;
5.使用
(1) 基本数据类型:
int [] arr = new int[10];
初始化:arr[0]=10;
使用:
增强for循环:
for(数据类型 变量名 : 数组名){
}
除了先创建一个数组,然后通过下标初始化这个数组外,还能把声明,创建,初始化一个数组放到一起
正常构建:
声明数据;
数据类型 [] 数组名;
数组名 = new 数据类型[] {val1,val2,…}
声明,创建,初始化放在一起
数据类型 [] 数组名= new 数据类型[] {val1,val2,…};
简写方式构建数组: 声明,创建,初始化必须放在一起
数据类型 [] 数组名 = {val1,val2,…}
(2) 引用数据类型:
在保存引用类型数据的时候,数组中保存的也不是引用数据类型的本身,还是保存引用数据类型的地址
类类型:
创建和使用同基本数据类型数组
数组类型:
(多维数组)也就是数组中保存的数据本身就是数组类型
声明:
int[][] arrs1 = new int[][] {arr1,arr2,arr3};
int[][] arrs2 = {arr1,arr2,arr3};
int[][] arrs3 = new int[][] {new int[] {1,2,3},new int[] {1,2,3}};
int[][] arrs4 = new int[][] {{1,2},{1,2,3}};
int[][] arrs5 = {{1,2},{1,2,3}};
使用:
for(int i=0;i<arrs.length;i++) {
int[] aa = arrs[i];
System.out.println(aa);
for(int j=0;j<aa.length;j++) {
System.out.println(aa[j]);
}
System.out.println("------------");
}
//等价
for(int i=0;i<arrs.length;i++) {
System.out.println(arrs[i]);
for(int j=0;j<arrs[i].length;j++) {
System.out.println(arrs[i][j]);
}
System.out.println("------------");
}
6、可变参数
语法: 一旦声明可变参,那么这个方法可以传递0个,1个,2个,多个参数,还可以传递参数类型对应的数组,可变参数接受数据的时候是按数组接收的。
public void test(数据类型… 变量名){
}
注意:
1.一旦声明成可变参,那么调用方法的时候可以不传递参数,可以传1-多个参数,也可以传递可变参数类型的数组
2.可变参我们使用的时候按照数组进行处理
3.一个方法中只能声明一个可变参数,而且必须放在最后一个位置