数组的常见操作:
求最值
求和
交换数据
打乱数据
---------------------------------------------------------------------------------------------------------------------------------
1.求最值:【个人建议看看B站上的视频,提有意思的】
假定五个元素:
定义max变量准备记录擂台上的变化
int max=arr[0];
遍历数组获取每一个元素
for(int i=1;i<arr.length;i++){
arr[i];
}
让每一个跟max比较如果找到更大的进行比较,如果找到更大的,就让max记录该元素
for(int i=1;i<arr.length;i++)
{
if(arr[i]>max)
{
max=arr[i];
}
}
2.求和并统计个数
练习:遍历数组求和
需求:生成10个1~100之间的随机数组
(1)求和
(2)求平均数
(3)统计有多少个值
//分析:1.定义数组
int []arr=new int[10]
2.吧随机数存入到数组中
random r=new random ()
[这里用到随机数]
int number =r. nextInt(bound:100)+1;
//把生成的随机数添加的数组当中
//数组名【索引】=数据;
arr[i]=number;
}
//(1)求出所有的数据的和
定义所有变量
int sum=0;
for(int i=0;i<arr.length;i++){sum=sum+arr[i];
}
System.out.println("数组中所有数据的和为:"+sum);
//(2)求所有数据的平均数
int avg=sum /arr.length;
Sytem.out.orintln("数组中平均数为:"+avg);
//(3)统计有多少个数据比平均值小
int count =0;
for(int i=0;i<arr.length;i++)
{
if(arr[i]<avg)
{
count++;
}
}
//当循环结束后就表示我们已经找到了所有比平均数小的数据
Ssytem.out.println("在数组中,一共有"+count+"个数据,比平均数小");
//遍历数组,验证答案
for(int i=0;i<arr.length;i++){
System.out.prtint(arr[i]+" ");
}
---------------------------------------------------------------------------------------------------------------------------------
3.交换数组中的数据
需求:定义一个数组,存入1,2,3,4,5。按照需求交换索引对应的元素
交换前:1,2,3,4,5
交换后:5,4,3,2,1
int a=10;
int b=20;
//把变量b的值赋给了变量a,那么变量a原来的值就被覆盖了
a=b;//a=20 b=20
-----------如果加入一个空的数组-----------
int temp=a;
a=b;
b=temp;
System.out.println(a);
System.out.println(b);
/*需求:一个数组,将数组中的0索引和最大值进行交换
//也是可以利用第三方变量进行交换
int temp=arr[0];
arr[0]=arr[4];
arr[4]=temp;
//3.遍历数组
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]+"");
}
//正式版
//1.定义数组存储数据
int[]arr={1,2,3,4,5};
//2.利用循环交换数据
for(int i=0;j=arr.length-1;i<j;i++,j--){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}//当循环结束之后数组中的元素就进行了头尾交换
for(int i=0;i<arr.length;i++){
Sytem.out.println(arr[i]+"");
}
---------------------------------------------------------------------------------------------------------------------------------
4.打乱数据
需求:定义一个数组,存入1~5,要求打乱所有数据的顺序。
分析:
难点:如何获得数组的随机索引
int[]arr={1,2,3,4,5};
//索引范围:0,1,2,3,4
//随机数方程:
Random r=new Random();
int randomIndex=r.nextint(bound:5);
Sytem.out.println(randomIndex);
代码部分:
//1.定义数组储存1~5
int[]arr={1,2,3,4,5};
//2.循环遍历数组,从0索引开始打乱数据的数据
Random r=new Random();
for(int i=0;i<arr.length;i++){
//生成一个随机数列
int randomIndex=r.nextInt(arr.length);
//拿着随机索引指向的元素 跟i指向的元素进行交换
int temp=arr[i];
arr[i]=arr[randomIndex];
arr[randomIndex]=temp;
}
//当循环结束之后那么数组中所有元素已经开始打乱顺序了
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]+"");
}
}
}
-------------------------------------------------建议看完黑马之后复习用~---------------------------------------------