数组
在java中数组是用来村删除一组像同类数据的数据结构 当数组输出和完毕后 java为数组在内存中分配一段连续的空间 其在内存中开辟的空间也随之固定 数组的长度就不能发生改变 即使数组中美元保存任何数据 数组所占的空间依然存在
数组有哪四要素
要素一:数组名称:用来区分不同的数组
要素二:数组元素:向数组中存放的数据
要素三:元素类型:数组元素的数据类型
要素四:元素下标:数组元素的编号,也叫索引
从0开始,通过下标来访问数组元素
定义数组
在java中定于数组方法有两种
数据类型[]数组名=new 数据类型[数组长度] int [] scores =new int [5];
数据类型 数组名[] =new 数据类型[数组长度] String cities[] =new String[6];
定义数组石一定要指定数组名和数组类型
必须书写[]表示定义了一个数组而不是一个普通的变量
[数组长度]决定连续分配的空间个数通过数组的length属性可获取此长度
数组的数据类型用于确定每个空间的大小
数组元素分配的初始值
数组元素类型 | 默认初始值 |
byte,short,int ,long | 0 |
float,double | 0.0 |
char | '\u0000' |
boolean | false |
引用数据类型 | null |
数组初始化
所谓数组初始化 就是在定义数组同时一并完成赋值操作
数组初始化的语法
数据类型[]数组名={值1,值2,值3,.......} 或者 数据类型[]数组名=new 数据类型[]{值1,值2,值3,.......}
处理数组
数组的元素类型和数组的大小都是确定的,所以当处理数组元素时候,我们通常使用基本循环或者for循环。
public staic void main(String[]agrs){
int socre[]={75,67,90,100,0};
for(int i=0;i<socre.length;i++){
System.out.println("socre["+"i+""]="+socre[i])
}
}
求最大值
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int[] scores=new int[5];
for (int i = 0; i < scores.length; i++) {
System.out.println("请输入第"+(i+1)+"个数:");
scores[i]=input.nextInt();
}
for (int i = 0; i < scores.length; i++) {
System.out.print(scores[i]+",");
}
System.out.println();
int max=scores[0];
for (int i = 0; i < scores.length; i++) {
if (scores[i]>max){
max=scores[i];
}
}
System.out.println("最大值为:"+max);
}
二维数组
java中定义和操作多为数组的语法与一维数组类似在实际应用中 三维及以上的数组很少使用 主要使用二位数组
定义二维数组的语法 数据类型[][]数组名; 或者 数据类型 数组名 [][];
数据类型为数组元素的类型 [][] 用于表明定义了一个二维数组通过多个下标进行数据访问
定义一个整型二维数组 关键代码
int[][]scores;
scores=new int[5][50] ; 或者 int [] []scores =new int[5][50];
二维数组实际上是一个以为数组 他的每一个元素又是一个一维数组
定义二维数组并初始化数组元素的两种方法
int [] []scores =new int [] []{{90,80,50},{50,80,60},{50}}
int scores ={{90,80,70},{60,50},{50}}
Arrays类的常用方法
方法 | 返回类型 | 说明 |
equals(array1,array2) | boolean | 比较两个数组是否相等 |
sort(array) | void | 对数组array的元素进行升序排列 |
toString(array) | String | 将一个数组array转换成一个字符串 |
fill(array,val) | void | 把数组array的所有元素都赋值为val |
copyOf(array,length) | 把array数据类型一致 | 把数组array复制成一个长度为length的新数组 |
binarySearch(array,val) | int | 查询元素值val在数组array中的下表 |
Arrays类的应用
1比较两个数组是否相等
Array类的equals()方法用于比较两个数组是否相等 只有两个数组长度相等对应位置元素也一一相等是 该方法返回 true 否则返回 false
2对数组的元素进行升序排序
Array类的sort()方法对数组元素进行升序排序 即从小到大的顺序排序
3将数组转换城字符串
Array类中提供了专门输出数组中的内容方法 toString() 该方法用于将一个数组转换成一个字符串 它按照顺序方式把多个数组元素连在一起 多个数组元素直接使用英文逗号和空格隔开 利用这种方法可以很清楚的观察到各个数组元素的值
4 将数组所有元素赋值为相同的值
Array类的fill方法用于把数组array的所有元素都赋值为val
5 将数组复制成一个长度为设定值的新数组
初始化一个整形一维数组 使用Array类的copyOf()方法把数组复制成一个长度为设定值的新数组
6 查询元素在数组的下标
Array类的bianrySearch()方法用于查询数组元素在数组中的下表 调用该方法时要求数组的元素已经按升序排列 这样才能得到正确结果