A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 鬼魅_vYpyK 中级黑马   /  2015-12-4 20:17  /  981 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

数组
        什么是数组?
                数组就是个容器

        数组的特点?
                数组初始化的时候,长度就已经固定了,不可以再改变
                数组既可以存储基本数据类型也可以存储引用数据类型(以后学)
                数组里面所有的元素的数据类型一致

        数组的格式?
                格式一:元素的数据类型[] 数组名字 = new 元素的数据类型[元素的个数];
                  变形:元素的数据类型 数组的名字[] = new 元素的数据类型[元素的个数];

                格式二:元素的数据类型[] 数组的名字 = new 元素的数据类型[]{元素1,元素2,元素3,... ...};
                        注:第二个中括号,里面不能写任何东西

                格式三:元素的数据类型[] 数组的名字 = {元素1,元素2,元素3,... ...};

        注:
                我们直接输出数组的名字,打印出来的内容是数组的地址值
                我们数组数组的名字[索引],输出来的是数组中的元素
                char[] chs = new char[5];
                System.out.println(chs);
                System.out.println(chs[0]);

        我们在使用数组的时候经常会遇见的异常:
                数组索引越界异常 ArrayIndexOutOfBoundsException
                int[] arr = new int[5];
                System.out.println(arr[0]);//0
                System.out.println(arr[10]);//ArrayIndexOutOfBoundsException

                空指针异常 NullPointerException
                int[] arr = new int[5];
                arr = null;
                System.out.println(arr[0]);//NullPointerException

        数组的常见操作:
                遍历:
                        int[] arr = new int[5];

                        for(int i = 0; i < arr.length; i++) {//arr.length是可以获取到数组中元素的个数的
                                System.out.println(arr[i]);//数组的索引值是从0开始,依次为0,1,2,3.....
                        }


                获取最值:
                        方法一:
                                int[] arr = {1,4,3,2,6,5};

                                int max = 0;

                                for(int i = 1; i < arr.length; i++) {
                                        if(arr[max] < arr[i]) {
                                                max = i;
                                        }
                                }

                        方法二:
                                int[] arr = {1,4,3,2,6,5};

                                int max = arr[0];

                                for(int i = 1; i < arr.length; i++) {
                                        if(max < arr[i]) {
                                                max = arr[i];
                                        }
                                }

                反转:
                        方式一:
                                int[] arr = {1,3,2,5,4};

                                for(int i = 0; i < arr.length / 2; i++) {
                                        int temp = arr[i];
                                        arr[i] = arr[arr.length - 1 - i];
                                        arr[arr.length - 1 - i] = temp;
                                }

                        方式二:
                                int[] arr = {1,3,2,5,4};
               
                                for(int i = 0, j = arr.length - 1; i < arr.length / 2; i++, j--) {
                                        int temp = arr[i];
                                        arr[i] = arr[j];
                                        arr[j] = temp;
                                }

                查表法:
                        首先,我们要用数组来制作一张表,表里的内容我们自己定义,我们只需要传数组的索引值,就能查找表里索引对应的内容。


                基本查找:

                        int[] arr = {1,2,3,4,5};
               
                        for(int i = 0; i < arr.length; i++) {
                                if(arr[i] == 4) {
                                        System.out.println(i);
                                }
                        }

1 个回复

倒序浏览
总结的很好 赞
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马