补充知识:
JVM内存模型:
1、栈(stack):局部变量
2、堆(heap): new出来的东西
3、方法区(method area):类的信息,常量池,静态池
4、程序计数器
5、本地方法栈
GC 垃圾回收器 主要接受堆里的东西
3.1.1 什么是数组
容器
特征:
1、装的东西必须是同类型
2、容器的大小
3.1.2 数组的作用
装东西
3.1.3 数组的使用:数组的大小一旦给定就不可以更改
数组的声明:
int[] b;
数组的初始化:
静态初始化:
Int[] b; b = new int[]{1,2,3}; // int[] b = {4,5,6};
动态初始化:
b = new int[3]; int[] b = new int[3];
数组的访问:
获取数组中的值:
下标:
数组名[下标]
设置数组中的值:
数组名[下标] =值;
打印数组:Arrays.toString(数组名)
数组的遍历:
使用循环
数组的长度:数组名.length;length是属性,不是方法;
3.1.4 二维数组
声明:int[][] a;
初始化:
静态初始化:
a = {{1,2},{3},{4,5,6}};
动态初始化:
不管怎么样,至少要分配一维
a = new int[3][2];
a = new int[3][];
a[0] = new int[2];
a[1] = new int[3];
数组的拷贝:System.arraycopy(a,0,b,0,length);
数组的打印:Arrays.toString(a);
数组的排序:Arrays.sort(a);
3.1.5 数组与算法
排序算法
1、选择排序法(选出一个后与后面的逐次比较,然后排序)
2、冒泡排序法(相邻的两个进行比较、排序)
3、折半查找法(取中值进行查找目标)
新闻热点
疑难解答