黑马程序员技术交流社区

标题: 基础篇之数组篇 [打印本页]

作者: hmc951106    时间: 2018-3-24 09:39
标题: 基础篇之数组篇
数组
        (1)数组:存储同一种数据类型的多个元素的容器。
        (2)特点:每一个元素都有编号,从0开始,最大编号是长度-1。
                 编号的专业叫法:索引
        (3)定义格式
                A:数据类型[] 数组名;
                B:数据类型 数组名[];
               
                推荐是用A方式,B方法当我没说知道就行。
        (4)数组的初始化
                A:动态初始化
                        只给长度,系统给出默认值
                        举例:int[] arr = new int[3];
                B:静态初始化
                        给出值,系统决定长度
                        举例:int[] arr = new int[]{1,2,3};
                        简化版:int[] arr = {1,2,3};
        (5)Java的内存分配
                A:栈 存储局部变量
                B:堆 存储所有new出来的
                            
        (6)数组内存图
                A:一个数组
                B:二个数组
                C:两个栈变量指向同一个堆内存
        (7)数组的常见操作
                A:遍历
                        方式1:
                                public static void printArray(int[] arr) {
                                        for(int x=0; x<arr.length; x++) {
                                                System.out.println(arr[x]);
                                        }
                                }
                               
                        方式2:
                                public static void printArray(int[] arr) {
                                        System.out.print("[");
                                        for(int x=0; x<arr.length; x++) {
                                                if(x == arr.length-1) {
                                                        System.out.println(arr[x]+"]");
                                                }else {
                                                        System.out.println(arr[x]+", ");
                                                }
                                        }
                                }
                B:最值
                        最大值:
                                public static int getMax(int[] arr) {
                                        int max = arr[0];
                                       
                                        for(int x=1; x<arr.length; x++) {
                                                if(arr[x] > max) {
                                                        max = arr[x];
                                                }
                                        }
                                       
                                        return max;
                                }
                               
                        最小值:
                                public static int getMin(int[] arr) {
                                        int min = arr[0];
                                       
                                        for(int x=1; x<arr.length; x++) {
                                                if(arr[x] < min) {
                                                        min = arr[x];
                                                }
                                        }
                                       
                                        return min;
                                }
                C:反转
                        方式1:
                                public static void reverse(int[] arr) {
                                        for(int x=0; x<arr.length/2; x++) {
                                                int temp = arr[x];
                                                arr[x] = arr[arr.length-1-x];
                                                arr[arr.length-1-x] = temp;
                                        }
                                }
                               
                        方式2:
                                public static void reverse(int[] arr) {
                                        for(int start=0,end=arr.length-1; start<=end; start++,end--) {
                                                int temp = arr[start];
                                                arr[start] = arr[end];
                                                arr[end] = temp;
                                        }
                                }
                D:基本查找
                        方式1:
                                public static int getIndex(int[] arr,int value) {
                                        for(int x=0; x<arr.length; x++) {
                                                if(arr[x] == value) {
                                                        return x;
                                                }
                                        }
                                       
                                        return -1;
                                }
                               






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2