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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 知识就酱吃 中级黑马   /  2015-11-29 15:46  /  547 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

数组的常见操作:
                记忆:方法的功能越单一越好。

                数组的遍历:
                        数组的长度: 数组名.length
                        根据索引获取指定元素:  数组名[索引];
                        public static void print(int[] arr) {
                                //遍历数组的代码
                                for(int i=0; i<arr.length; i++) {
                                        System.out.println(arr[i]);
                                }
                        }

                最值(最大值,最小值)
                        int[] arr = {1,2,3,4,5};
                        思路:
                                1、定义一个统计变量max,用来记录最大值,初始值为 数组中的第一个元素值。
                                2、通过遍历,获取到数组中的每一个元素,然后依次和max进行比较。
                                        如果大了,就把当前遍历到的值给 max
                                        如果小了,什么都不操作。
                                3、循环结束后,max记录的就是最大值。

                        用方法来做:
                                分析:
                                        返回值的数据类型:int
                                        参数列表:int[] arr
                                public static int getMax(int[] arr) {
                                        int max = arr[0];                //定义一个统计变量max,用来记录最大值
                                        for(int i=1; i<arr.length; i++) {        //通过遍历,获取到数组中的每一个元素
                                                //arr[i] 就是遍历到的每一个元素
                                                if(max < arr[i]) {        //依次和max进行比较
                                                        max = arr[i];                                               
                                                }                                       
                                        }
                                        return max;
                                }

                反转:
                        1,2,3,4,5    5,4,3,2,1
                        5,2,3,4,1        第一个和最后一个交换        arr[0]        arr[arr.length-1-0]
                        5,4,3,2,1        第二个和倒数第二个交换        arr[1]        arr[arr.length-1-1]
                                                第三个和单数第三个交换        arr[2]        arr[arr.length-1-2]
                                                ......................        arr[i]  arr[arr.length-1-i]

                        关键点:
                                交换的次数:数组的长度/2
                                谁和谁交换:arr[i] 和 arr[arr.length-1-i]

                        用方法来做:
                                返回值的数据类型:void
                                参数列表:int[] arr
                                public static void reverse(int[] arr) {
                                        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;
                                        }

                                }
                查表法:
                        解释:根据 索引(index) 去找 数组中的指定元素
                        public static char getElement(int week) {
                                char[] chs = {' ','一','二','仨','四','五','六','日'};
                                return chs[week];
                        }

                基本查找:
                        解释:找元素在数组中 对应的索引
                        思路:
                                1、遍历数组,获取到每一个元素。
                                2、依次和要查找的值(value)进行比较,
                                        如果相等,就返回该索引。
                                        如果不等,接着循环,进行下一次比较。
                                3、如果循环都结束了,还没有找到,那么就说明数组中没有这个元素,索引就返回-1.
                        定义方法:
                                返回值类型:int
                                参数列表:int[] arr, int value(值)
                                public static int getIndex(int[] arr,int value) {
                                        for(int i=0; i<arr.length; i++) {
                                                //arr[i]就是遍历到的每一个元素
                                                if(arr[i] == value) {
                                                        return i;
                                                }
                                        }
                                        //走到这儿了,说明循环都结束了,还没有找到这个元素,就返回-1
                                        return -1;
                                }


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马