/*
*作者:呆萌老师
*☑csdn认证讲师
*☑51cto高级讲师
*☑腾讯课堂认证讲师
*☑网易云课堂认证讲师
*☑华为开发者学堂认证讲师
*☑爱奇艺千人名师计划成员
*在这里给大家分享技术、知识和生活
*各种干货,记得关注哦!
*vx:it_daimeng
*/
1、什么是数组
数组是线性表的扩展,可以理解为长度有限的线性表。在数组中可以存储相同类型的元素。其标志为[]。
2、数组特性
1、元素类型的统一性。
在数组中只能存储相同类型的元素。
2、元素个数的有穷性。
数组的个数是有限的。
3、元素随机访问性
数组可通过元素的索引随机访问元素。
4、空间的连续性
在数组中元素是存储在一片连续的空间中。
3、数组的类型
数组根据存储类型及维度可分为,一维数组和多维数组。
一维数组存储值与对象,多维数组,存储数组的数组。
4、数组的操作
1、定义数组
2、赋值
3、数组遍历
4、添加元素
5、修改元素
Object[] objects={};//这里使用的是匿名数组,在开发中以后将常用匿名数组,这样就不必写死一个数组的长度
Scanner scanner=new Scanner(System.in);
for (int i=0;i<3;i++){
objects[i]=scanner.next();//在这里利用计数器来控制数组的长度。
}
for (Object OB:objects){
System.out.println(OB);//利用高级for循环来输出数组的元素,这样就不必去考虑数组的下标。
}
案例
import java.util.Arrays;
import java.util.OptionalDouble;
public class Anli {
public static void main(String[] args) {
/*
* 定义数组,对数组初始化
* */
String[][] studentinfo={{"101","a"},{"102","B"},{"103","C"},{"104","D"}};
String[] name={"java","c++","c#","JS"};
double[][] score={{98,84,82,81},{55,66,88,44},{33,44,99,72},{54,86,94,92}};
/*
对数组信息的输出或者在以后的操作中这里将对数组的内容进行录入
*/
System.out.print("学号"+"\t");
for (int i=0;i<4;i++){
System.out.print(studentinfo[i][0]+"\t");
}
System.out.println();
System.out.print("课程科目"+"\t");
for (int i=0;i<4;i++){
System.out.print(studentinfo[i][1]+"\t");
}
System.out.println();
for (int i=0;i<4;i++){
System.out.print(name[i]+"\t");
for(int j=0;j<4;j++){
System.out.print(score[i][j]+"\t");
}
System.out.println();
}
/*
* 定义最大值,最小值,求和,以及平均数这四个数组*/
double max[]=new double[4];
double min[]=new double[4];
double sum[]=new double[4];
double avg[]=new double[4];
/*
在此处将实现求取出每一组课程中的平均数,最大值,最小值。
调用math函数对数组进行操作,
调用max()方法求取最大值,min()求取最小值,sum()方法自动求和,sum[i]/4将总和除以4,求取平均数。
并将求取出的值依次赋值给定义的四个数组max[],min[],sum[],avg[].
*/
for (int i=0;i<4;i++){
max[i]= Arrays.stream(score[i]).max().getAsDouble();
min[i]=Arrays.stream(score[i]).min().getAsDouble();
sum[i]=Arrays.stream(score[i]).sum();
avg[i]=sum[i]/4;
}
System.out.println();
/*
对求出的最大值,最小值,平均数进行结果输出
*/
for (int i=0;i<4;i++){
System.out.print(name[i]+"\t"+"最高分:"+max[i]+"\t"+"最低分:"+min[i]+"\t"+"平均分:"+avg[i]+"\t");
System.out.println();
}
}
}
5、排序------冒泡
int[] num={5,2,5,9,5,4,6,6};
for (int i=1;i<num.length;i++){ //外层循环执行数组长度,依次次找到这组数中第几大。
for (int j=0;j<num.length-i;j++){//内层循环执行比较,-i主要是因为之前找到的值,都不在参与本次运算。
if (num[j]>num[j+1]){
int t=num[j];
num[j]=num[j+1];
num[j+1]=t;
}
}
}
for (int b:num){
System.out.println(b);
}
本文暂时没有评论,来添加一个吧(●'◡'●)