天天看点

黑马程序员_JAVA笔记04——数组

-------   android培训、 java培训、期待与您交流! ----------

1  数组定义格式:             int []  arr = new int[2];

            int  arr []= new int[2];    // 这两种方式都可以

            int arr1 = new int[ ]{2,4,3,6,7};   //静态初始赋值

2 数组中一些注意的问题             a      int [] arr = new int[2];   //数组中每个元素默认值为0             b      数组元素角标从0开始,注意在使用中角标不要过界。过界时,编译不出问题,但执行时会出现异常。

            c        若arr=null;则数组不再指向引用,也就无法进行arr[0] arr[1]等操作了。

3  数组的操作,获取数组中数据         方式一:

            int arr[] = new int[3]{4,5,6};

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

            System.out.println(arr[1]);             System.out.println(arr[2]);         方式二:

            int arr[] = new int[3]{4,5,6};             for(int x=0;x<3;x++)

            {                  System.out.println(arr[x]);             }

        注意:数组中有一个属性可以直接获取到数组元素个数,length。使用方式为:       数组名称.length=

            int arr[] = new int[3]{4,5,6};             for(int x=0;x< arr.length;x++)

            {                  System.out.println(arr[x]);             }

4  数组中元素的排序         a  选择排序   用一个元素与数组其他元素全部比较,从0到尾逐一比较。多次循环。

                public static void selectSort(int[] arr)

                {                         for(int x=0;x<arr.length-1;x++)

                        {                                 for(int y=x+1;y<arr.length;y++)                                 {                                         if(arr[x]>arr[y])

                                        {                                                 int temp = arr[x];                                                 arr[x] = arr[y];

                                                arr[y] = temp;

                                        }

                                }

                        }

                }

        b  冒泡排序    相邻元素进行比较0与1 ,1与2,2与3.。。。。。多次循环

                public static void bubbleSort(int[] arr)

                {                         for(int x=0;x<arr.length-1;x++)

                        {                                 for(int y=0;y<arr.length-x-1;y++)                                 {                                         if(arr[y]>arr[y+1])

                                        {                                                    int temp = arr[y];                                                 arr[y] = arr[y+1];

                                                arr[y+1] = temp;

                                        }

                                }

                        }

                }

5  二维数组         格式1:int [][] arr = new int[3][4];

                    定义了名称为arr的二维数组,二维数组中有3个一维数组,每个一维数组有4个元素,一维数组的名称分别为arr[0] arr[1] arr[2],给第一个一维数组1脚标位赋值写法是:arr[0][1] = 23;

        格式2:int[][] arr = new int[3][];

                    二维数组中有3个一维数组,每个一维数组都是默认初始化值null,可以对这个三个一维数组分别进行初始化

                    arr[0] = new int[3];

                    arr[1] = new int[3];

                    arr[2] = new int[2];

        注意:二维数组长度:arr.length,表示二维数组中有几个一维数组

                                 arr[0].length,表示二维数组中第一个一维数组的元素个数