Java数组
数组分一维数组、二维数组和多维数组。
以下详细讲解的是一维数组和简单的冒泡法。
- 需知Java中数组长度一经定义,固定不变。
- 一般数组初始化(声明并指定数组长度)
- 数组的内存模型详解
基础知识点
- 堆栈:位于RAM(随机访问存储器)中,存放基本类型和引用类型的数据(对象引用)。
- 堆:也位于RAM中,通用的内存池,存放所有Java对象。
- 常量池:存放常量的区域。
- 创建数组就是在堆中创建一个数组对象。同时会拥有默认值。
1.整数类型数组的默认值是0
2.String类型定义的数组,默认值是null
3.char类型定义的数组,默认值是0对应的字符
4. 浮点类型定义的数组,默认值是0.0
5. boolean类型数组的默认值是false - String类型数组内存详解
在这里插入代码片
- 数组长度
数组长度必须>=0,且只读不可被赋值。
数组下标与数组长度的关系可以表示成:数组长度(length)-1=数组下标。
原理是数组下标是从0开算起的,数组长度从1开始算起。 - 冒泡法排序(Bubble Sort)
原理:重复地访问要排序的数组,一次比较两个数组元素,顺序错误就把她们交换过来。直到没有顺序错误时,排序完成。
public static void bubbleSort(int[] a) {
for (int i = 1; i < a.length; i++) {
for (int j = 0; j < a.length - i; j++) {
if (a[j] > a[j + 1]) {
int t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
}
public static void bubbleSort(int[] a) {
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length - i - 1; j++) {
if (a[j] > a[j + 1]) {
int t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
}