近日,重装了java环境,使用jdk1.6,重新从基础学习出发。
首先,对于数组,Java里面建立数组主要有两种方式:
/*
* 基本数据类型的创建。数组一定是先分配了空间再赋值
* 如果在分配空间的时候初始化,这叫静态初始化,也就是使用{}赋值
* 如果在分配空间的时候没有初始化,这叫动态初始化,之后不能使用{}赋值
*/
//1.不指定数组长度,直接赋值;实质是静态初始化
int []a={11,22,44,21,55,78};
//下面这种方式也是静态初始化
int []b=new int[]{12,34,56,7865,43};
//2.分配空间的时候没有赋值,实质上是动态初始化
int []c;
c=new int [5];
在过去,学习java基础过程中使用过最多的就是静态初始化了,在javaweb种常常在Servlet里面通过动态初始化的方式给ArrayList赋值,严格来说,ArrayList不是数组,但是实现方式和数组基本一致的。
对数组的处理,可以使用增强型的for循环,很简单的一句:
for(int n:a){
System.out.println(n);
}
对于排序,使用了Arrays.sort(int [])方法,说道排序,就想看看源码是怎么实现的。
源码分为两大部分(针对int型的),首先,数组长度小于7的,使用冒泡排序,这倒比较简单。
但是数组长度大于7的,又分为是否大于40。至于这些数字为什么要这么安排,也是不知。可能会与算法复杂度有关系。
对于长度大于7的实现过程,实在是看的头晕,今晚是看不完了,明早继续。
对于以上内容,如果有哪里有错误的,欢迎各位大佬指出。