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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Anlai 中级黑马   /  2015-8-24 12:54  /  694 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

数组
                一维数组
                        数组: 用来存储同一种数据类型的容器
                        数组的格式:
                                数据类型[] 数组名 ;
                                数据类型 数组名[];

                        数据的初始化:
                                静态初始化:        由我们给定出初始化值,由系统分配长度
                                动态初始化:        由我们给定数组的长度,由系统给出初始化值
                                注意事项:
                                        不能进行动静结合
                        动态初始化:
                                数据类型[] 数组名 = new 数据类型[数组长度];
                                数组长度: 就是该数组中元素的个数
                        java语言的内存分配:
                                (1): 栈:        存储的都是局部变量
                                                        局部变量: 就是在方法定义中或者方法声明上的变量
                                (2): 堆:        存储的都是new出来的东西
                                                        a: 系统会为每一个new出来的东西分配一个地址值
                                                        b: 系统会为每一个元素赋一个默认的初始化值
                                                                byte, short, int, long                -----  0
                                                                float , double                                -----  0.0
                                                                char                                                -----  '\u0000'
                                                                boolean                                                -----  false
                                                                引用数据类型                                -----  null
                                                        c: 使用完毕以后就变成了垃圾,等待垃圾回收器对其回收
                                (3): 方法区(面向对象部分)
                                (4): 本地方法区(和系统相关)
                                (5): 寄存器(CPU)
                        内存图:
                                一个数组的内存图                                想让大家知道数组在内存中是如何构建的
                                二个数组的内存图                                每new一次都会在堆内存中重新开辟空间
                                3个引用两个数组的内存图                        我们栈内存中的多个引用可以指向堆内存中的同一个地址
                       
                        静态初始化:
                                格式: 数据类型[] 数组名 = new 数据类型[]{元素1 , 元素2 , 元素3 ,....};
                                简化版:         数据类型[] 数组名 = {元素1 , 元素2 , 元素3 ,....};
                       
                        数组的常见操作:
                               
                                遍历                       
                                                                public static void print(int[] arr){
                                                                        System.out.print("[ ");
                                                                        for(int x = 0 ; x < arr.length ; x++){
                                                                                if(x == arr.length - 1){
                                                                                        System.out.print(arr[x] + " ]");
                                                                                }else {
                                                                                        System.out.print(arr[x] + ", ");
                                                                                }
                                                                        }
                                                                }
                                获取最值               
                                                                public static int getMax(int[] arr){
                                                                        int max = arr[0] ;
                                                                        for(int x = 0 ; x < arr.length ; x++){
                                                                                if(arr[x] > max){
                                                                                        max = arr[x] ;
                                                                                }
                                                                        }
                                                                        return max ;
                                                                }
                                查表法:                思路: 通过数组模拟一张表,录入索引查处指定的元素
                                反转
                                                                public static void reverseArr(int[] arr){
                                                                        for(int x = 0 , y = arr.length - 1 ; x <= y ; x++ , y-- ){
                                                                                int temp = arr[x] ;
                                                                                arr[x] = arr[y] ;
                                                                                arr[y] = temp ;
                                                                        }
                                                               
                                                                }
                                基本查找
                                                                public static int getIndex(int[] arr , int value){
                                                                        int index = -1 ;
                                                                        for(int x = 0 ; x < arr.length ; x++){
                                                                                if(arr[x] == value){
                                                                                        index = x ;
                                                                                        break ;
                                                                                }
                                                                        }
                                                                        return index ;
                                                                }

1 个回复

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