1.数组
- 数组也是保存数据的容器
- 也可以保存多个数据的容器
- 特点:数据类型一致或者兼容,地址是连续的
- 数组的声明:(1).数据类型[] 数组名;推荐使用(2).数组类型 数组名[];只有java中好用
- 声明空间 数组名=new 数据类型[大小]数据类型和声明时的数据类型是一致的
- 注意:分配完空间后,里面春芳默认设置
- 声明数组的同时可以分配哦空间
- 数组类型[] =new 数据类型[大小 ]
- 使用print数组名[索引]
- 数组的赋值(1)数据类型[] 组名= { };(2)数组类型[] =new 数据类型[大小 ]{}
- 数组的动态赋值(1)声明数组,分配空间(2)循环赋值
- 数组的遍历(1.)for循环(2.)增强for(jdk1.5能使用)for(数据类型 变量名:names)
- 注意:int []arr ={1,23,3}这种这声明数组的方式不能分开写.
- 注意开发中循环一般不能超过三层,超过三层会影响代码的可读性,执行效率,如果有三层 把其中一层写成方法反复调用这样也可以提高程序的效率
2. 二维数组
- 二维数组输出采用的双层循环输出
3.Arrays的使用
- 遍历: toString() 将数组的元素以字符串的形式返回
- 排序: sort() 将数组按照升序排列
- 查找: binarySearch()在指定数组中查找指定元素,返回元素的索引,如果没有找到返回(-插入点-1) 注意:使用查找的功能的时候,数组一定要先排序。
3.直接排序代码
public static void selectSort(int[] arr)
{
for(int x=0; x<arr.length-1; x++)
{
for(int y=x+1; y<arr.length; y++)//为什么y的初始化值是 x+1? 因为每一次比较,
//都用x角标上的元素和下一个元素进 行比较。
{
if(arr[x]>arr[y])
{
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
}
“
4.冒泡代码
/*
冒泡排序。
比较方式:相邻两个元素进行比较。如果满足条件就进行位置置换。
原理:内循环结束一次,最值出现在尾角标位置。
*/
public static void bubbleSort(int[] arr)
{
for(int x=0; x<arr.length-1; x++)
{
for(int y=0; y<arr.length-x-1; y++)//-x:让每次参与比较的元减。
//-1:避免角标越界。
{
if(arr[y]>arr[y+1])
{
int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
}
}