数组 笔记Notes 数组介绍 数组的声明 数组初始化 数组元素默认值 数组复制 数组反转 数组查找:线性查找、二分查找 数组排序:冒泡排序 数组介绍 数组名: 创建数组内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。 下标(或索引):从0开始 数组是引用数据类型, 元素相当于类的成员变量, 数组一经分配空间,其中的每个元素也被按照成员变量同样的方式被隐式初始化 数组中的元素可以是基本数据类型也可以是引用数据类型 数组的声明 声明:String[] names; int scores[]; 数组初始化:静态初始化、动态初始化 静态初始化:数组的初始化和赋值是同时进行的 names = new String{"12","34","56","78"}; 动态初始化:数组的初始化和赋值分开进行 String[] names2 = new String[5]; names2[0] = "123"; 下面的方式数组的声明和初始化不能分开。 int[] age = { 1, 2, 3, 4, 5, 6 }; 数组元素的默认值 byte、short、int、long -->0 float、double --->0.0 bolean --> \u0000 引用数据类型(类、数组、接口)--->null 一维数组内存解析 String[] persons = new String[3]; String[] persons2 = persons; //persons 和 persons2 实际上指向的是同一块内存 堆、栈、方法区 堆(heap):用来存放对象的实例,只要是new出来的都在堆里 栈(stack): 存储局部变量, 如基本数据类型、对象引用(reference类型,它不等同于对象本身,是对象在堆内存的首地址) 方法区(Method Area):用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。 总结Summary 静态初始化与动态初始化 数组反转 数组查找:二分查找 数组排序:冒泡排序