数组:就是一个容器来存同样的数据
一·数组的初始化
a.静态初始化
数组的静态初始化4种方式:
int [] arr1=new int[]{1,2,3,4,5,6};
int [] arr2={4,5,6,87,8,9};
int arr3[]={4,5,6,7};
int arr4[]=new int[]{7,8,9};
b.动态初始化
int [] arr5=new int[5];
再通过键盘输入动态的获取数组的每一个索引对应的元素值
二·数组的访问
arr1[x];就是访问索引是x处对应的值
arr1存放的是数组的地址值,通过所有找到对应的元素值
三·数组的操作
a.遍历
int[] arr1={16,26,36,6,100};
for (int i = 0; i <arr1.length ; i++) {
System.out.println(arr1[i]);
}
b.最大值,最小值,平均值
静态数组
int[] arr1={16,26,36,6,100};
int sum=0;
int max=0;
int min= arr1[0]; ;
for (int i = 0; i <arr1.length ; i++) {
sum=sum+arr1[i];
if (arr1[i]>max)
{
max=arr1[i];
}
if (arr1[i]<min)
{
min=arr1[i];
}
}
//输出总和
System.out.println(sum);
//最大值
System.out.println(max);
//最小值
System.out.println(min);
动态数组
double[] score=new double[6];
double sum=0;
double max=0;
//循环遍历输入6次成绩
for (int i = 0; i <score.length ; i++) {
System.out.println("请第" + (i + 1) + "位评委输入成绩:");
Scanner scanner = new Scanner(System.in);
//得到6次评委的成绩,存入数组
score[i] = scanner.nextInt();
}
double min=score[0];
for (int i = 0; i < score.length; i++) {
sum=sum+score[i];
//获取最大值
if (score[i]>max)
{
max=score[i];
}
//获取最小值
if (score[i]<min)
{
min=score[i];
}
}
System.out.println("最终平均分为"+sum/6);
System.out.println("最高分"+max);
System.out.println("最低分"+min);
c数组的反转
//反转数组
int [] a=new int[]{1,2,3,4,5,7};
// for (int i =a.length-1 ; i>=0 ; i--) {
// System.out.println(a[i]);
// }
for (int i = 0,j=a.length-1; i <j ; i++,j--) {
int tmp=a[j];
a[j]=a[i];
a[i]=tmp;
}
for (int i = 0; i <a.length ; i++) {
System.out.println(a[i]);
}
d数组的随机变化
//定义数组
int [] arr=new int[5];
//从键盘输入5个数然后随机
for (int i = 0; i <5; i++) {
System.out.println("请你输入第"+(i+1)+"个数");
Scanner scanner=new Scanner(System.in);
arr[i]=scanner.nextInt();
}
for (int i = 0; i <arr.length ; i++) {
System.out.print(" "+arr[i]);
}
System.out.println();
//随机出0-4之间的数
Random random=new Random();
int index=random.nextInt(5);
System.out.println("随机数是"+index);
//进行数据交换
for (int i = 0; i <5 ; i++) {
int temp=arr[index];
arr[index]=arr[i];
arr[i]=temp;
}
for (int i = 0; i < arr.length; i++) {
System.out.print(" "+arr[i]);
}
e数组排序
//数组排序
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j <arr.length-1 ; j++) {
if (arr[j]>arr[i]){
int tem=arr[j];
arr[j]=arr[i];
arr[i]=tem;
}
}
}
f是否有相同元素
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j <i ; j++) {
if (arr[i]==arr[j]){
System.out.println("有重复数");
}
}
}
g比较arr1和arr2是否有相同元素
for (int i = 0; i < arr1.length ; i++) {
for (int j = 0; j <arr2.length ; j++) {
if (arr1[i]==arr2[j]){
counthong++;
}
}
}