Java数组(int为例)

Java数组(int为例)

定义:相同数据类型的数据的组合,是一种引用类型,是一个对象,存在堆里。

数组初始化:int[] scores1 = new int[]{72,90,59};//静态初始化:在声明并初始化数组与给数组相应的元素赋值操作同时进行。

            int scores2[] = new int[3];

    scores2[0] = 72;

            scores2[1] = 90;

            scores2[2] = 59;

//动态初始化:在声明并初始化数组与给数组相应的元素赋值操作分开进行。

//声明数组的错误写法:

     1)String[] names = new String[5]{"AA","BB","CC"};

     2)int i[10];

     3)int i = new int[];

注:不管是动态还是静态初始化数组,一定在创建的时候,就指明了数组的长度!

引用数组元素:通过数组的下角标引用。下角标从0开始,到n-1结束,n是数组的长度。

数组长度:通过.length调用

遍历数组:

         for( int i = 0 ; i < scores.length ; I ++){

                   System.out.println( scores[i]);

   }

数组元素的默认初始值:

         byte short int long 初始值为0

         float double 初始值为0.0

         char 初始值为 空格

         boolean 初始值为false

         引用类型初始值为null

一维数组的写法:int[] arrs = new int[5];

                            arrs[0] = 5;

                            //int arrs[] = new int[5];

二维数组的写法:int [][] is = new int[3][];

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

数组常见异常:

  1. 数组下标越界异常:java.lang.ArrayIndexOutBoundsException

        int[] i = new int[10];

        i[0] = 0;

        i[10] = 10;//超出数组下标值(下标值越界)

 

        for( int j = 0 ; j < i.length ; j++){

                 System.out.println(i[j]);

        }

 

 

2.空指针异常: NullPointerException

  (1) boolean[] b =new boolean[3];

     b = null;

     System.out.println(b[0]);

       (2)  String[] str = new String[4];

                               str[3] = new String("AA");//str[3] = "AA";

                          System.out.println(str[3].toString());

   (3) int[][] j = new int[3][];

             j[2][0] = 12;

Arrays类:

binayeSearch: 二分搜索法,使用二进制搜索算法来搜索指定类型数组,以获得指定的值。

      

 输出结果

          

输出结果为搜索内容在数组中的位置(从0开始)     

     输出结果

        

   负数指的是该数应在该数组中的位置(从1开始)

Equals:用于比较两个相同类型的值,如果两个指定类型的值相等则返回true,否则返回false。

                   Fill:用于填充数组

     

将int[] arrs2 中的内容替换成3

 

输出结果

                         

 

                           

 

                                     将int[] arrs2 中的第二位到第三位替换为9

                                     **2指第二位,4指第四位,9为替换的内容

                                     **2,4指从第二到第三位,而不是从第二位到第四位

                          

 

                   输出结果

                           

 

Sort:对数组中的内容进行排序(从0开始)

          public static void sort(int[] a)

                  

                   copyOf:向数组添加内容

                                    

                                     输出结果

                                     

                   copyOfRange: 截取数组内容

 

                                              

                                               截取第0到第3位内容

                                               输出结果

                                                       

posted @ 2017-08-01 11:49  Oo。  阅读(9960)  评论(0编辑  收藏  举报