- 数组的定义:int[] array=new array[n];int array[]={, , , ,};定义了数组,JVM就会给其一个空间,数组是应用类型的数据类型,其存储方式是随机存储。
- 数组的遍历,一般是通过循环来遍历其元素的,二维数组可以是通过霜或双重循环来遍历。数组的下标是从0开始的。
- 数组的替换,数组提供了一个方法,两种重载的形式,此方法为fill(),可以通过此方法来填充数组或者替换数组指定位置的元素。
public class Array_Fill { public static void main(String[] args) { int[] array = new int[5];// 定义一个含有五个元素的一维数组 Arrays.fill(array, 8);// 使用Arrays类的静态方法fill来填充数组元素 // 输出数组中的元素 for (int i = 0; i < array.length; i++) { System.out.print(array[i] + " "); } System.out.println(); // 替换元素 Arrays.fill(array, 2, 5, 5); // 输出数组 for (int i = 0; i < array.length; i++) { System.out.print(array[i] + " "); } } }
- 数组的排序:数组本身有Arrays类中的sort()方法,这里写几种常见的排序方法。(1)冒泡排序法
public static void main(String[] args) { Scanner in=new Scanner(System.in); int i,j;//i用来存储数组的最小元素的数值,j用来该元素的位置 int[] array=new int[10];//定义一个长度为10的整型数组 int iTemp=0;//变量表示数组元素最小值 int iPos=0;//表示最小元素的下标 System.out.println("请输入十个数:"); for(int n=0;n<array.length;n++){//遍历输入数组的十个元素 array[n]=in.nextInt(); } /* * 对数组进行排序 */ for(i=0;i<9;i++){//外层循环 iTemp=array[i];//设置当前的元素为最小值 iPos=i;//记录最小元素的位置 for(j=i+1;j<10;j++){//内层循环表示要与最小元素进行比较的预测尿素以及次数 if(array[j]<iTemp){//如果后来的元素中有比临时最小值小的数,那么重新赋值最小值 iTemp=array[j]; iPos=j; } //交换最小值的位置 array[iPos]=array[i]; array[i]=iTemp; } } //输出数组 System.out.println("选择排序后的从小到大的顺序是:"); for(int n=0;n<array.length;n++){ System.out.print(array[n]+" "); }
(2)冒泡排序法
public class MaoPaoPaiXu { public static void main(String[] args) { Scanner in=new Scanner(System.in); int i=0,j=0;//用来控制内外层循环 int[] array=new int[10]; int iTemp=0;//用来存储中间变量 //输入数组的十个元素 System.out.println("请输入10个数:"); for(int n=0;n<array.length;n++){ array[n]=in.nextInt(); } //冒泡排序法 for(i=0;i<array.length-1;i++){ for(j=i;j<array.length-1;j++){ if(array[j]>array[j+1]){ iTemp=array[j]; array[j]=array[j+1]; array[j+1]=iTemp; } } } System.out.println("冒泡排序后:"); for(int n=0;n<array.length;n++){ System.out.print(array[n]+" "); } }
(3)交换排序算法
package ArraysSort; import java.util.Scanner; /** * 交换排序算法:交换排序算法是将每一位数与其它所有数进行比较,如果发现符合条件的数据则交换位置 * @author Administrator * */ public class JiaoHuanPaiXu { public static void main(String[] args) { Scanner in=new Scanner(System.in); int i=0,j=0; int[] array=new int[10]; int iTemp=0; System.out.println("输入数组的十个数:"); for(int n=0;n<array.length;n++){ array[n]=in.nextInt(); } //交换排序 for(i=0;i<array.length-1;i++){ for(j=i+1;j<array.length;j++){ if(array[i]<array[j]){ iTemp=array[i]; array[i]=array[j]; array[j]=iTemp; } } } System.out.println("交换排序后的顺数是:"); for(int n=0;n<array.length;n++){ System.out.print(array[n]+" "); } } }
(4)插入排序法(c基础排序算法里面有)