Java SE 第三十四,五,六讲 Array类解析及数组疑难剖析,冒泡排序,交换排序以及快速排序

1.不使用中间变量实现两个数的互换:

int  a = 3;

int b = 4;

a = a + b;

b = a - b;

a = a - b;

System.out.println(a);

System.out.ptintln(b);

2.使用方法交换两个数的值:

public class Swap3
{
        public static void swap(int[] i)
        {
                int temp = i[0]
                i[0] = i[1];
                i[1] = temp;
        }
        public static void main(String[] args)
        {
                int[] i = {1,2};
                swap(i);
                System.out.println(i[0]);
                System.out.println(i[1]);
        }
}

Java 中无指针的概念,可以通过数组的方式实现两个数的交换.

3.

public class ArrayTest6
{
        public static void main(String[] args)
        {
                I[] i = new I[2];//生成了I类型的引用
        }
}
interface I
{

}

上面的程序是可以编译通过的.

public class ArrayTest6
{
    public static void main(String[] args)
    {
        I[] i = new I[2];
        i[0] = new C();
        i[1] = new C();

I[] b = new I[2]{new C(),new C()};
    }
}
interface I
{

}
class C implements I
{

}

4.java.util.Arrays类:

这个类包含了各种用于操纵数组的方法.

Array类的equals()方法,可以用来判断两个数组是否相等.相等的概念是数组的长度相等,数组相同位置上的元素也相当,当两个数组的引用为null时,也认为是相等的.

5.java.lang.System类:System.arraycopy()方法详解:

6.三维数组:type[][][] = new type [2][3][4];

7.课后作业,交换排序,快速排序的原理和实现.

8.二分查找(Binary search):待查找的数组要有序.
9.随机生成五十个数字,每个数字的范围是[10,50],统计每个数字出现的次数以及出现次数最多的数字与它的个数,最后将每个数字即其出现次数打印出来,如果某个数字出现次数为0,则不要打印它,打印时按照数字的升序排列.

posted @ 2011-03-01 22:41  donaldjohn  阅读(251)  评论(0编辑  收藏  举报