java二维数组,Arrays类,数组的拷贝,冒泡排序(013)

一.二维数组

        1.二维数组的定义和数组的遍历

        2.数组存储对象

        

3.杨辉三角


4.二维数组的内存


5.注意事项

      1. 声明的时候并没有实例化任何对象,只有在实例化数组对象时,JVM才分配空间,这时才与长度有关。

      2. 声明一个数组的时候并没有数组真正被创建。

      3. 构造一个数组,必须指定长度。

二.Arrays类

常见的方法:



三.数组的拷贝

1.arraycopy

           System类里也包含了一个static void arraycopy(object src,int srcpos,object dest, int  destpos,int length)方法,该方法可以将src数组里的元素值赋给dest数组的元素,其中srcpos指定从src数组的第几个元素开始赋值,length参数指定将src数组的多少个元素赋给dest数组的元素。

2.代码实列:


四.冒泡排序

1.冒泡排序算法的运作如下:

      1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。

      2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

      3. 针对所有的元素重复以上的步骤,除了最后一个。

      4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

   2.代码示例:


3.冒泡排序的优化算法:

             1.整个数列分成两部分:前面是无序数列,后面是有序数列。

              2.初始状态下,整个数列都是无序的,有序数列是空。

              3.每一趟循环可以让无序数列中最大数排到最后,(也就是说有序数列的元素个数增加1),也就是不用再去顾及有序序列。

              4.每一趟循环都从数列的第一个元素开始进行比较,依次比较相邻的两个元素,比较到无序数列的末尾即可(而不是数列的末尾);如果前一个大于后一个,交换。

              5.判断每一趟是否发生了数组元素的交换,如果没有发生,则说明此时数组已经有序,无需再进行后续趟数的比较了。此时可以中止比较。

你可能感兴趣的:(java二维数组,Arrays类,数组的拷贝,冒泡排序(013))