1、java数组是引用类型的、
声明可以用两种方式声明。
例如:int[] a、 int a[]、person[] p;
(1)java声明数组时不能指定其长度。
(2)数组动态初始化
先定义数组变量再申请空间再往里面写东西。
int[] a;
a = new int[2];
a[0]=1;
a[1]=2;
Date[] d;
d = new Date[2];
Date[0] = new Date();
Date[1] = new Date();
(3)静态初始化
在定义数组的同时就为数组的元素分配空间并赋值。
int a[] = {1,2};
Date d[] = { new Date(), new Date()};
(4)每个数组有一个属性length指明它的长度。
定义并用运算符new为之分配空间后才可以 引用数组中的每个元素。引用可以用下标arrayname[index];
把字符串类型转化为基础类型
如果想把基础类型包装成对象放在堆空间上。
boolean、double、integer、float、byte等都有parse...函数强制转换。
任意初始化数组,然后排序和用折半查找找到特定的对象。
关于排序算法:
1、选择排序
public class TestSorts {
public static void main(String[] args) {
int[] in2 = {27,88,4,5,7,99,12,33};
int in[] = {1,0,2,9,8,3,4,5,6,18,7};
TestBubbleSorted.print(in);
in = bubble(in);
TestBubbleSorted.print(in);
TestBubbleSorted.print(in2);
in=selection(in2);
TestBubbleSorted.print(in2);
}
public static int[] bubble(int[] in) {
int temp;
int len = in.length;
for(int i=len-1; i>=1; i--) {
for(int j=0; j<=i-1; j++) {
if (in[j] > in[j+1]) {
temp = in[j];
in[j] = in[j+1];
in[j+1] = temp;
}
}
}
return in;
}
public static int[] selection(int[] in) {
int k;
int temp;
for(int i=0; i<in.length; i++) {
k=i;
for(int j=i+1; j<in.length; j++) {
if (in[k] > in[j]) {
k=j;
}
}
if (k != i) {
temp = in[i];
in[i] = in[k];
in[k] = temp;
}
}
return in;
}
}