数组
笔记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
静态初始化与动态初始化
数组反转
数组查找:二分查找
数组排序:冒泡排序