前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >数组的简单认识及其学习

数组的简单认识及其学习

作者头像
默 语
发布2024-11-20 08:52:18
发布2024-11-20 08:52:18
4800
代码可运行
举报
文章被收录于专栏:JAVAJAVA
运行总次数:0
代码可运行

数组

代码语言:javascript
代码运行次数:0
复制
public static void main(String[] args) {
        //静态初始化
        int[] nee={88,66,456,482,62,658};

        System.out.println(nee[0]+"\t");
        System.out.println(nee[1]+"\t");
        System.out.println(nee[2]+"\t");
        System.out.println(nee[2]+"===");
        nee[2]=666;
        System.out.println(nee[2]+"===");

        System.out.println("=================>");
        //动态的初始化
        int[] ints = new int[7];

        //[1-33]
        for (int i = 0; i < 6; i++) {
            ints[i] = (int) (Math.random() * 40 + 1);
        }


        System.out.println(ints[0]+"\t");
        System.out.println(ints[1]+"\t");
        System.out.println(ints[2]+"\t");
        System.out.println(ints[2]+"===");
        ints[2]=666;
        System.out.println(ints[2]+"===");
    }

运行的结果是

代码语言:javascript
代码运行次数:0
复制
88	
66	
456	
456===
666===
=================>
18	
40	
34	
34===
666===

遍历的数组

代码语言:javascript
代码运行次数:0
复制
 public static void main(String[] args) {

        int[] num = {7, 56, 1, 62, 52, 32};

        // for循环
        int max = num[0];
        for (int i = 1; i < num.length; i++) {
            if (num[i] > max) {
                max = num[i];
            }

        }
        System.out.println("max的最大值是多少" + max);

        //foreach循环
        int min = num[0];
        for (int i : num) {
            if (i < min) {
                min = i;
            }
        }

        System.out.println("max的最大值是多少"+min);

    }

运行结果是

代码语言:javascript
代码运行次数:0
复制
max的最大值是多少62
max的最大值是多少1

Arrays工具类

代码语言:javascript
代码运行次数:0
复制
public static void main(String[] args) {
        //1.打印数组
        int[]  nte={54,66,25,63,21,35,47};
        System.out.println("1==>"+nte);
        System.out.println("2==>"+ Arrays.toString(nte));


        //2.比较数组
        int[]  nte1={10,20,30,40,50,60,70};
        int[]  nte2={10,20,30,40,50,60,70};

        System.out.println(nte1==nte);
        System.out.println(nte1==nte2);
        System.out.println(Arrays.equals(nte1,nte2));

        //3.排序数组
        int[]  nte3={50,10,30,20,40,60,70};
        Arrays.sort(nte3);
        System.out.println(Arrays.toString(nte3));


        //4.复制数组
        int[]  nte4={50,10,30,20,40,60,70};
        int[] ints = Arrays.copyOf(nte4, 5);
        int[] int1  = Arrays.copyOf(nte4, 8);
        System.out.println(Arrays.toString(ints));
        System.out.println(Arrays.toString(int1));


        //5.数组
        int[]  nte5={50,10,30,20,40,60,70};
        nte5 = Arrays.copyOf(nte5, nte5.length + 1);
        nte5[nte5.length-1]= (int) (Math.random() *16+1);
        System.out.println(Arrays.toString(nte5));
    }

代码的运行结果是

代码语言:javascript
代码运行次数:0
复制
1==>[I@6fadae5d
2==>[54, 66, 25, 63, 21, 35, 47]
false
false
true
[10, 20, 30, 40, 50, 60, 70]
[50, 10, 30, 20, 40]
[50, 10, 30, 20, 40, 60, 70, 0]
[50, 10, 30, 20, 40, 60, 70, 15]

内存中的数组

代码语言:javascript
代码运行次数:0
复制
public static void main(String[] args) {
        int[] arr1={10,20,30,40,50};
        int[] arr2=arr1;

        System.out.println(Arrays.toString(arr1));
        System.out.println(Arrays.toString(arr2));

        arr1[0]=111;
        arr2[1]=222;

        System.out.println(Arrays.toString(arr1));
        System.out.println(Arrays.toString(arr2));
    }

运行结果是

代码语言:javascript
代码运行次数:0
复制
[10, 20, 30, 40, 50]
[10, 20, 30, 40, 50]
[111, 222, 30, 40, 50]
[111, 222, 30, 40, 50]

多维数组

代码语言:javascript
代码运行次数:0
复制
 public static void main(String[] args) {
        //静态初始化   多维数组
        int[][] arr1 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
        System.out.println(arr1);//不转
        System.out.println(Arrays.toString(arr1));//之前的方式
        System.out.println(Arrays.deepToString(arr1));//多维数组转化


        //动态初始化
        int[][] ints = new int[5][2]; //外层5个  内层2个  数据5*2=10

        for (int i = 0; i < ints.length; i++) {
            for (int j = 0; j < ints[i].length; j++) {
                //(Math.random() *100)  随机数  1-99 的范围
                ints[i][j] = (int) (Math.random() * 100);
                System.out.print(ints[i][j] + "\t");
            }
        }
        //System.out.print("\t");
        System.out.println(Arrays.deepToString(ints));


        //遍历数组
        for (int i = 0; i < arr1.length; i++) {
            for (int j = 0; j < arr1[i].length; j++) {
                System.out.print(arr1[i][j] + "\t");
            }
            System.out.println();
        }

        //本质 一维数组  外层是3层  里层不断递增
        int[][] ints1 = new int[3][];
        ints1[0] = new int[]{1,2};
        ints1[1] = new int[]{3,4,5};
        ints1[2] = new int[]{6,7,8,9};
        System.out.println(Arrays.deepToString(ints1));




        //更多的维度数组
        int[][][] arr3={
                {{11,12}},{{13,14}},{{15,16}}
        };
        System.out.println(Arrays.deepToString(arr3));

代码运行结果是

代码语言:javascript
代码运行次数:0
复制
[[I@5a39699c
[[I@3cb5cdba, [I@56cbfb61, [I@1134affc]
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
83	36	76	96	61	86	31	46	64	7	[[83, 36], [76, 96], [61, 86], [31, 46], [64, 7]]
1	2	3	
4	5	6	
7	8	9	
[[1, 2], [3, 4, 5], [6, 7, 8, 9]]
[[[11, 12]], [[13, 14]], [[15, 16]]]

数组倒转

代码语言:javascript
代码运行次数:0
复制
 public static void main(String[] args) {
        //构造数组
        int[] arr= new int[5];
        for (int i = 0; i < arr.length; i++) {
          arr[i]= (int) (Math.random() * 100);
        }
        System.out.println(Arrays.toString(arr));


        //数组倒转
        //第一个和最后一个倒转 以此类推
        //第一个 arr[0] 最后一个 arr[length-1-0]
        //arr[1]  arr[length-1-1]
        //arr[2]   arr[length-1-2]
        for (int i = 0; i < arr.length/2; i++) {
            int temp=arr[i];
            arr[i] =arr[arr.length-1-i];
            arr[arr.length-1-i]=temp;
        }

        System.out.println(Arrays.toString(arr));
    }

运行结果是

代码语言:javascript
代码运行次数:0
复制
[64, 24, 78, 34, 39]
[39, 34, 78, 24, 64]

求平均数

代码语言:javascript
代码运行次数:0
复制
 public static void main(String[] args) {
        //初始化数组
        int[] nums = new int[5];
        int index = 0;
        int sum = 0;
        int grade = 1;
        double avg = 0;

        //记录输入
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入数字,负数结束流程");
        while (true){
            int temp = scan.nextInt();
            if (temp < 0){
                break;
            }
            nums[index] = temp;
            sum = sum + temp;
            avg = (double) sum / grade;
            grade = grade +1;
            if (++index > nums.length - 1){
                nums = Arrays.copyOf(nums,nums.length+5);
            }
        }
        scan.close();
//      System.out.println(Arrays.toString(nums));
//      System.out.println(sum);
        System.out.println("平均数是="+avg);

        for (int i = 0 ;i < nums.length;i++){
            if (nums[i] > avg){
                System.out.print("比平均数大的值是="+nums[i]+"\t");
            }
        }
    }

运行结果是

代码语言:javascript
代码运行次数:0
复制
请输入数字
65
36
59
2365
5
4
1
8
56
-4
平均数是288.77777777777777
比平均数大的值是2365	

冒泡排序

代码语言:javascript
代码运行次数:0
复制
public static void main(String[] args) {
        //冒泡排序  构造数组
        int[] ints = new int[8];
        for (int i = 0; i < ints.length - 1; i++) {
            ints[i] = (int) (Math.random() * 100);
        }
        System.out.println("初始默认值是"+Arrays.toString(ints));

        //轮次
        for (int i = 0; i < ints.length - 1; i++) {
            //比较的次数
            // 1次: 下标  0 -- ints.length-1
            // 下标: 1 -- ints.length-1  类推
            //循环的边界
            //j=ints.length-1-i-1
            //j+1=ints.length--1-i
            for (int j = 0; j < ints.length-1-i-1; j++) {
              //从大到小
                if (ints[j] < ints[j+1]) {
                    int temp=ints[j];
                    ints[j]=ints[j+1];
                    ints[j+1]=temp;
                }
            }
            //打印完整的排序过程
            System.out.println(Arrays.toString(ints));
        }
    }

代码运行结果是

代码语言:javascript
代码运行次数:0
复制
[40, 59, 96, 30, 16, 40, 45, 0]
[59, 96, 40, 30, 40, 45, 16, 0]
[96, 59, 40, 40, 45, 30, 16, 0]
[96, 59, 40, 45, 40, 30, 16, 0]
[96, 59, 45, 40, 40, 30, 16, 0]
[96, 59, 45, 40, 40, 30, 16, 0]
[96, 59, 45, 40, 40, 30, 16, 0]
[96, 59, 45, 40, 40, 30, 16, 0]
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数组
  • 遍历的数组
  • Arrays工具类
  • 内存中的数组
  • 多维数组
  • 数组倒转
  • 求平均数
  • 冒泡排序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档