一:数组(高级变量)
1:一次可以存储多个数据
2:存数数据之前一定要进行声明
3:数据和空间类型必须保证匹配
书柜,衣柜,鞋柜---->数组
书 衣 鞋子---->数据(元素)
二:数组的定义(数组的声明)
变量声明格式:
数据类型 变量名;
数组声明格式:
数据类型 []数组名=new 数据类型[长度];
byte,short,int,long,char----->默认值为:0
float,double----->默认值为:0.0
boolean----->默认值为:false
String------>默认值为:Null
三:数组的初始化
方式1:声明时使用默认值进行初始化
int []a=new int[5];
方式2:声明的同时,使用自定义值进行初始化
int []b={1,2,3,4};
方式3:先声明,再使用自定义值进行初始化
int []c;
c=new int[]{7,5,6,4,1};
四:数组的使用(使用的是数组中的元素)
1:使用数组的元素,可以通过访问下标/索引来访问数组中的元素,下标值都是从0开始
int []b={1,2,3};
System.out.println(b[0]);//访问的是b数组中的第一个元素
System.out.println(b[1]);//访问的是b数组中的第二个元素
System.out.println(b[2]);//访问的是b数组中的第三个元素
b[2]=6;//将b数组第三个元素修改为6
2:通过 数组名.length 获取数组的长度(一般数组最大下标用数组名.length-1 表示)
五:数组遍历:将数组从都到尾所有的位置全部走一般
for循环遍历
//for循环遍历赋值
for (int b=0;b<=a.length-1;b++){
a[b]=100;
}
//for循环遍历输出
for (int c=0;c<=a.length-1;c++){
System.out.println(a[c]);
}
toString();
作用:将数组中所有的元素,以字符串的形式进行打印输出
for...each遍历:一般使用在对数组元素不确定的情况下使用,将获取的元素以变量的形式进行展示
for(数据类型 变量名:数组名){
System.out.println(变量名);
}
六:通过遍历找出数组中的最大值
int a={1,5,6,0};
第一步:假设第一个元素为最大值
int max=a[0];
第二步:通过遍历将剩余的元素与假设的最大值做比较,若有大约假设值得,则将这个最大值进行替换
for(int b=1;b<=a.length-1;b++){
if(a[b]>max){
max=a[b];
}
}
第三步:输出max的值,找除最大值
System.out.println(max);
七:数组的复制
System.arraycopy(原数组名,原数组的起始位置,目标数组名,目标数组的起始位置,复制的个数);
作用:将原数组中的数据进行复制,然后粘贴到新数组中
优点:选择性较强,比较灵活
缺点:有可能会导致数组下标越界的异常
Arrays.copyOf(数组名,长度);
作用:
1:将数组中的元素进行复制粘贴
2:通过这个方法可以改变数组的长度(扩容,缩容)
优点:无论如何复制,永远都不会出现下标越界的问题
缺点:在复制的时候,不能选择个数,和位置
八:数组排序(升序排列)
Arrays.sort(数组名);
九:二维数组
什么是二维数组?
在数组中存放数组
一般需要把数据进行分组管理的时候,就需要使用到二维数组
1:二维数组的定义
数据类型 [][]数组名=new 数据类型[m][n];
m:表示这个二维数组中能够存储多少个一维数组
n:表示为每一个一维数组的长度
例:
int [][]a=new int[2][3];
2:二维数组的初始化
方式1:
int [][]a=new int[2][3];
方式2:
int [][]b={1,2,3},{2,6},{12,13,4};
方式3:
int [][]c=new int[][]{1,2,3},{4,5,6};