Java基本知识点(数组)

数组

       引用类型的变量

    

     定义语法

      int[ ]   a;

 

      赋值

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

      int[ ]  a = new int[5];   

 

     如果数组中的元素没有初始化,元素的值就是元素类型的默认值

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

    

     引用类型是什么

找到数组的线索

 

变量有四种

          形参                栈

          局部变量            

          属性                堆

          静态属性            方法区

 

1.引用类型是个线索,用来找到堆中真正数据

2.引用类型也是值传递,形参的改变不会影响实参

 

java中垃圾回收(Garbage Collection)   Garbage  Collector    (GC)

谁是垃圾?

没有使用价值;没有引用指向的对象(数组)

a.length  返回数组的长度

int[ ]  a = null;   a引用没有指向任何数组

 

错误

    ArrayIndexOutOfBoundsException       下标越界

    int[ ]  a =null;   a[0] =100;       NullPointerException

变量          数组类型的引用

堆上          实际存储数组对象

 

定义

          int[]

          double[]

          int/double  元素类型/数据类型(Element Type)

 

赋值

       int[] a = {1,2,3,4,5};      //只能在初始化的时候使用

       int[] a = new int[5];   

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

       int[] a = null;                 //只定义了一个数组类型的引用变量,没有数组对象,a没有指向任何数组

数组的遍历

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

       for(int i = 0;i

            a[i];

}

       for(int element  :   a)    {

              element;

}

 

理解什么是引用:

        1. 引用是用来找到实际对象的线索

        2. java内存中有3个区域

           1) 栈区        2) 堆区         3) 方法区

        3. 4种形式的变量

   1)形参      2)局部变量          栈区

   3)属性                                     堆区

   4)静态属性                             方法区

4. 一些操作的理解

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

      int[] b = a;           // b也指向a指向的数组对象

1) b = {10,11,12};    //b重新指向新的数组对象,不会影响a和a指向的对象

2) b[0] = 100;          //改变的是b指向的数组对象的内容,会影响a

5. 方法调用过程中(无论是基本数据类型还是引用数据类型)

java都是值传递,所有形参的改变都不会影响实参

JDK支持的一些数组操作

    java.util.Arrays  包

    先导入才能使用(如何导入?     import.java.util.Arrays;)

 

    java.long.System  包

    System.arraycopy(源数组引用,源下标,目标数组引用,目标下标,长度);

 

    Arrays.fill(int[] a, int v);

    Arrays.copyOf(int[] a,int newLength);

    Arrays.copyOfRange(int[] a,int from,int to);  //a[from,to)

    Arrays.toString(a);                         //方便打印

    Arrays.binarySearch(int[] a,int v);

你可能感兴趣的:(Java基本知识点(数组))