java数组

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[j]) {
                    k=j;
                }
            }
            if (k != i) {
                temp = in[i];
                in[i] = in[k];
                in[k] = temp;
            }
        }
        return in;
    }
}

你可能感兴趣的:(java数组)