Java知识19 数组(比较难掌握)【多测师】

一、数组是重要的数据结构之一 
Java中的数组用来存储固定大小的同类型的元素(是同类型的)
可声明数组变量number[100] 代替声明100个独立变量number0,number1,...number99

二、声明数组变量
dataType[] arrayRefVar; // 首选的方法 或 dataType arrayRefVar[]; // 效果相同,但不是首选方法
实例:
double[] myList; // 首选的方法 
double myList[]; // 效果相同,但不是首选方法 —--C/C++语言用的多的写法

三、创建数组
Java用new操作符创建数组 语法如下
arrayRefVar = new dataType[arraySize];
解释如上语法:
1.使用dataType[arraySize]创建了一个数组
2.把新创建的数组的引用赋值给变量arrayRefVar

重点:数组变量的声明和创建数组可以用一条语句完成
方式一:dataType[] arrayRefVar = new dataType[arraySize];
方式二:dataType[] arrayRefVar = {value0, value1, ..., valuek};
数组的元素是通过索引访问的 数组索引从0开始 索引值从0到arrayRefVar.length-1

实例:
先声明一个数组变量myList,接着创建一个包含10个double类型元素的数组,并且把他的引用赋值给myList变量
public class Student {
  public static void main(String[] args) {
   int size = 3;

   double[] myList = new double[size];
   myList[0] = 12.4;
   myList[1] = 14.2;
   myList[2] = 19.3;

   double total = 0;
   for (int i = 0; i < size; i++) {
    total += myList[i];
   }
   System.out.println(total);
  }
}

运行结果: 45.900000000000006

四、处理数组
数组的元素类型和数组的大小都是确定的,所以处理数组一般用基本循环或者foreach循环
public class Student {
  public static void main(String[] args) {
   double[] arr = { 1.2, 9.1, 9, 5.3 };

   for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
   }
   // 计算所有元素之和
   double total = 0;
   for (int i = 0; i < arr.length; i++) {
    total += arr[i];
   }
   System.out.println("Total is:" + total);
   // 查找最大的元素
   double max = arr[0];
   for (int i = 1; i < arr.length; i++) {
    if (arr[i] > max)
     max = arr[i];
   }
   System.out.println("Max is:" + max);
  }

}
运行结果:
1.2
9.1
9.0
5.3
Total is:24.599999999999998
Max is:9.1

五、foreach循环 可以在不使用下标的情况下遍历数组
举列:
public class TestArray {
    public static void main(String[] args) {
  double[] myList = { 1.9, 2.9, 3.4, 3.5 };

  // 打印所有数组元素
  for (double element : myList) {
      System.out.println(element);
  }
    }
}
运行结果:
1.9
2.9
3.4
3.5

六、数组还可以作为函数的参数
public static void printArray(int[] array)
printArray(new int[]{3, 1, 2, 6, 4, 2}); —调用函数

七、数组作为函数的返回值
八、多维数组
多维数组可以看为是数组的数组,比如二维数组就是一个特殊的一堆数组,其每一个元素都是一个一维数组
String str[][] = new String[3][4];

九、数组倒叙排序
public class Test2 {
  public static void main(String[] args) {
   int[] test = { 1, 2, 4, 5, 7 };
   for (int i : test) {
    System.out.print(i + " ");
   }
   System.out.println("\n");
   test = Test2.reverse(test);
   for (int i : test) {
    System.out.print(i + " ");
   }
  }

  public static int[] reverse(int[] arr) {
   int[] result = new int[arr.length];
   for (int i = 0, j = result.length - 1; i < arr.length; i++, j--) {
    result[j] = arr[i];
   }
   return result;
  }
}

 

posted @ 2020-06-12 22:23  多测师_王sir  阅读(212)  评论(0编辑  收藏  举报