代码练习--数组


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] + ",");
        }
        }
}
 

猜你喜欢

转载自blog.csdn.net/weixin_42248871/article/details/109227370