【疯狂Java讲义学习笔记】【流程控制与数组】
【学习笔记】
1、switch语句后的expression表达式的数据类型只能是byte、short、char、int四个整数类型、String(Java 7后才支持)和枚举类型。
2、数组的长度不可变,定义数组时候不能指定数组的长度。为数组分配空间的时候一定要进行初始化,数组初始化的方法有两种,第一种是静态初始化,在数组中直接为每个数组元素赋上初值,另一种是动态初始化,在初始化的时候指定数组的长度,由系统来为每个元素指定初值。注意的是两种初始化不能够同时使用,即既指定数组的长度,同时又为每个元素赋值。
3、方法中的局部变量将会存储在栈内存中,而当在程序中创建一个对象的时候(由于对象的创建开销大),将它存放在堆内存中,以供程序反复地使用它。栈内存中的局部变量在方法结束后会被销毁,然而堆内存中的对象不会被销毁,只有当它完全的失去引用的时候,才会调用垃圾回收器来回收它。
4、操作数组的工具类:java.util.Arrays;
int binarySearch(type[] a, type key);使用二分法查询值在a数组中出现的索引,要求是已经排好序的数组。不存在返回负值。
int binarySearch(type[] a, int fromIndex, int toIndex, type key);与前面类似,但是它只搜索a数组的fromIndex到toIndex范围之内。
type[] copyOf(type[] original, int length);
type[] copyOfRange(type[] original, int from, int to);
boolean equals(type[] a1, type[] a2);
void fill(type[] a, type val);
void fill(type[] a, int fromIndex, int toIndex, type val);
void sort(type[] a);
void sort(type[])a, int fromIndex, int toIndex);
String toString(type[] a);