数组☞(apro660)的简单操作
数组在被声明好以后,计算机会自动对其做初始化,就是以声明的数据类型存入0。在操作数组时需要给数组每个小空间编号,专业点叫做下标索引,一个长度为n的数组,第一个下标是0,最后一个下标是n-1。只要在[]内填入下标进行赋值,计算机会自动通过引用找到数组锁定对应的空间进行赋值。如:
int[] array = new int[5];
array[0] = 1;
array[2] = 100;
int i = 3;
array[i] = 5;
变量是可以作为下标的,但是变量的值必须在下标以内的整数,否则会出错。这时for循环跟数组很配,for循环的循环控制变量可以同时作为数组的下标使用,可以进行赋值、排序、提取最值、遍历等操作,数组有个得到长度的方法(数组名.length)。操作数组时主要是注意循环控制变量与下标之间的关系;更要主要的是下标不要超过数组长度,否次会出现越界的错误。下面就简单的举几个列子:
1. 赋值
如: int[] array = new int[6];
for(int i = 0; i < array.length; i++){
int j = 1;
array[i] = j++;
}
这样长度为6的数组各个空间依次存入1、2、3、4、5、6。
2. 遍历
如: int[] array = new int[6];
for(int i = 0; i < array.length; i++){
System.out.println(array[i]);
}
依次打印数组内各空间的值。
3. 冒泡排序
如:int[] array = {1,2,3,4,5,6};
for(int i = 0; i < array.length; i++){
for(int j = i + 1; j < array.length; j++){ //注意i和j的关系
if(array[i] > array[j]){ //如果前面的数字大于后面的数组这交换,用于升序排列
int tem = array[i];
array[i] = array[j];
array[j] = tem;
}
}
}
冒泡排序的所有排序方法中最差的,还有更多的高级算法......