public class shuzu { public static void main(String[] agrs){ /** * 数组--存放多个数据的集合 //一维数组 int a[]; int[] b; int arr[] = new int[5];//动态赋值 int[] arr1 =new int[]{1,2,3,4,5};//静态赋值 //数组下标从0开始 System.out.println(arr.length); System.out.println(arr1[1]); System.out.println(arr1[1*2]); System.out.println(arr[1]); //二维数组练习 int[][] arr = new int[][]{ {3,8,2}, {2,7}, {9,0,1,6} }; int len = arr.length; int res = 0; for(int i = 0; i < len; i++){ int arr0[] = arr[i]; int llen = arr0.length; for(int j = 0;j < llen;j++){ res +=arr0[j]; } } System.out.println(res); */ /** * 数组中涉及的常见算法 * 1、求数组元素的最大值,最小值,求和,平均数 int arr[] = new int[]{1,2,3,4,5,6,7,8 }; int max = arr[0]; int min = arr[0]; int sum = 0; int avg ; int i; for( i = 0;i < arr.length;i++){ if(max < arr[i]){ max = arr[i]; } } System.out.println("最大值:"+max); for(int j = 0; j < arr.length;j++){ if(min > arr[j]){ min = arr[j]; } } System.out.println("最小值:"+min); //总和,平均数 for(int k = 0;k < arr.length; k++){ sum +=arr[k]; } System.out.println("总和:"+sum); System.out.println("平均数:" + (sum / arr.length)); //2、数组的复制 int copy[] =new int[arr.length]; for(i = 0; i < arr.length;i++){ copy[i] = arr[i]; } for(i = 0;i < copy.length;i++){ System.out.println(copy[i]); } System.out.println(); System.out.println(); //3、数组的反转 int temp[] = new int[arr.length]; int k =0; for(i = arr.length - 1;i >= 0;i--){ //System.out.println(arr[i]); temp[k] = arr[i]; k++; } arr = temp; for(i = 0;i < arr.length;i++){ System.out.println(arr[i]); } */ /**4、数组元素的排序 冒泡法:排序思想: 相邻两元素进行比较,如有需要则进行交换,每完成一次循环就将最大元素排在最后(如从小到大排序), 下一次循环是将其它的数进行类似操作 int arr[] = new int[]{10,32,1,234,554,6,21}; int temp; for(int i = 0;i < arr.length - 1; i++){//循环轮次 for(int j = 0; j < arr.length - 1 - i ;j++){//每一轮次,对数组元素进行排序 if(arr[j] > arr[j + 1]){ temp = arr[j]; arr[j] = arr[j + 1]; arr[j+ 1] = temp; } } } for(int i = 0;i < arr.length;i++){ System.out.println(arr[i]); }*/ /**数组作业: * (1)创建一个名为TestArray的类,在main()方法中声明array1和array2两个变量,他们是int[]类型的数组。 (2)使用大括号{},把array1初始化为8个素数:2,3,5,7,11,13,17,19。 (3)显示array1的内容。 (4)赋值array2变量等于array1,修改array2中的偶索引元素, 使其等于索引值(如array[0]=0,array[2]=2)。打印出array1。 */ int array1[] = new int[]{2,3,5,7,11,13,17,19}; int array2[]= new int[array1.length];
System.out.println("打印array1数组的值: "); for(int i = 0; i < array1.length;i++){ System.out.print( array1[i]+","); } System.out.println(); System.out.println(); //赋值array2变量等于array1 for(int i = 0; i < array1.length;i++){ array2[i] = array1[i]; } System.out.println("array2数组的值:"); for(int i = 0; i < array2.length;i++){ System.out.print( array2[i]+","); } //4、修改array2中的偶索引元素, //使其等于索引值(如array[0]=0,array[2]=2)。打印出array1 for(int i = 0; i < array2.length;i++){ if( i % 2 == 0){ array2[i] = i; System.out.println(array2[i]); } else { System.out.print(array2[i]+"\t"); } } System.out.println(); System.out.println(); //数组自身反转 int temp; System.out.println("初始数组:"); for(int i = 0 ;i < array1.length;i++){ System.out.print(array1[i] + ","); } System.out.println(); System.out.println("数组自身反转:"); for(int i = array1.length - 1; i >= 0; i--){ System.out.print(array1[i] + ","); } } }
