数组

数组

数组的定义

  • 是相同类型数据的有序集合
  • 每个元素可以通过下标访问数组元素

数组的声明创建

dataType[] arrayRefVar;
int[] a;//声明的例子

dataType[] arrayRefVar = new dataType[arraySize];
int[] b = new int[10];//创建一个可以存储10个,类型为整形的数组。

元素通过索引访问,索引从零开始。

获取数组的长度——arrays.length

数组的内存分析

堆:

  • 存放new的对象和数组
  • 可以被所有的线程共享,不会存放别的对象引用

栈:

  • 存放基本变量类型(会包含具体数值)
  • 引用对象的变量(会存放具体地址)

方法区:

  • 可以被所有线程共享
  • 包含所有class和static变量

初始化

静态:创建+赋值

int[] a = {1,2,3,4,5,6};

动态:包含默认初始化(隐式初始化:数字---0;字符:null)

int[] b = new int[10];
b[0] = 10;

基本特点

  1. 长度是确定的。创建后大小不可改变
  2. 元素必须是相同类型。
  3. 数组的类型可以是任意的。
  4. 数组的变量属于引用类型。
  5. 数组对象本身是在 堆 中的

数组边界

合法边界:[0——array.length-1]

数组下标越界错误:ArrayIndexOutOfBoundsException

数组使用

 public static void main(String[] args) {
        int[] a = {1,2,3,4,5};
        //打印数组元素
        for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);
        }
        System.out.println("=====");
        //计算所有元素的和
        int sum = 0;
        for (int i = 0; i < a.length; i++) {
            sum += a[i];
        }
        System.out.println("sum="+sum);
        System.out.println("=====");
        //查找最大元素
        int max = a[0];
        for (int i = 1; i < a.length; i++) {
            if (max<a[i])
                max = a[i];
        }
        System.out.println("max="+max);
 }

多维数组

二维数组的定义

int[][] a = new int[2][2];//定义了一个二行二列的数组

Arrays类

数组的工具类!!

toString——输出数组的数据

fill——给数组赋值

sort——数组排序(升序)

equals——比较数组中元素的值

brinarySearch——二分查找

 public static void main(String[] args) {
        int[] a = {1,2,3,5,75,32,31,76,9,4};
        System.out.println(Arrays.toString(a));//输出数组元素
        System.out.println("----------");
        System.out.println(Arrays.binarySearch(a, 9));//查找9的下标位置并输出
        System.out.println("----------");
        Arrays.sort(a);//对数组进行升序排序
        System.out.println(Arrays.toString(a));//输出排序后的数组
        System.out.println("----------");
        Arrays.fill(a,1);//对数组进行填充,填充数字为1
        System.out.println(Arrays.toString(a));//输出数组验证
        System.out.println("----------");
    }
posted @ 2021-01-25 22:11  于简  阅读(55)  评论(0编辑  收藏  举报