数组

本秂侑毒 提交于 2019-11-27 15:50:30

一、数组 

Java中数组是相同类型数据有序集合。每个数组元素可以通过一个下标来访问,下标从0开始。

数组特性:[1] 数组长度确定。数组一旦创建,未来长度不能发生改变。[2] 数组的元素类型都相同。[3] 数组是有序的。[4]数组是引用数据类型。

      [5]每个数组元素有默认值,double:0.0,boolean:false,int:0

二、冒泡排序 

外层循环,它决定一共走几趟,for (int i = 0; i <a.length-1; ++i) 

内层循环,它决定每趟走一次,for (int j = 0; j <a.length-i-1 ; ++j)

③内层中,两两排序

三、选择排序

①外层循环,for (int i = 0; i < a.length - 1; i++),可认为第i个数是最小的,int minIndex = i;

②内层循环,寻找真实最小的下标,for (int j = i + 1; j < a.length; j++) { if (a[ minIndex ] > arr[ j ]) { minIndex = j;} }

③退出内层,minIndex 和 i 互换

四、插入排序 

①int  i,j;外层循环,for (i = 1; i < a.length ; i++),获取该元素 temp=a[ i ],从第二个元素开始,从后向前扫描

②内层循环,for (j = i; j > 0 && temp < arr[j - 1]; j--),从后向前扫描,满足循环条件(在这里排序):a[ j ] = arr[ j - 1 ]

③退出内层,arr[ j ] = temp

五、数组和可变参数做方法参数的联系和区别

1、联系:①实参都可以是数组;②方法体中,可变参数当做数组来处理

2、区别:①可变参数只能是方法的形参,可变参数好处:方便  简单  减少重载方法的数量

      ②如果方法定义了可变参数,不允许同时定义相同类型数组参数

      ③可变参数只能有一个且只能是最后一个;数组参数可以多个,参数位置任意

      ④可变参数实参可以0,1,2.....个,也可以是一个数组,数组的实参只能是数组

六、二维数组

二维数组本质上一个一维数组,这个数组的每个元素一个一维数组。

二维数组是一种行列结构,遍历采用双重循环。

七、Arrays

java.util.Arrays类,常用方法,例如排序Arrays.sort(arr)、二分法查找(必须排序过)Arrays.binarySearch(arr,item)快速输出Arrays.toString(arr)、比较Arrays.equals(arr1,arr2)、复制Arrays.copyOf(arr,newLength)(截取或用 0填)、System.arraycopy(arr,oldIndex,newArr,newIndex,newLength)

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!