一维数组和多维数组

一维数组:

未赋值 数据类型 [数组长度] 名字 ;    int[] 名字;

赋值 int [ ] 名字 = new int [ ]{ 1,2,3,4 };或int [4] 名字 ={1,2,3,4};静态

int [ ] 名字 = new int [4]; //声明一个能存放4个int的数组 动态定义数组长度

元素下标 :从左到右 从0开始

数组名字.length 方法 指数组的长度

数字类型数组元素的初始化:0

对象类型的初始化是 null

数组赋值: 名字 [ 下标 ] = _____ ;


多维数组:有多少个[ ] 就是多少维数组

如:二维数组:

第一个[ ]代表 第一维的长度是2,也就是有多少个一维数组

第二个[ ]代表 一维数组中的长度最长有多少个

int [][] a =new int [2] [3]{
    {1,2,3}//二维数 组 0
    {6,7,8}//二维数组 1
}

内部嵌套的括号是可选的,下面的初始化与上面是等同的:

int [2][3]={1,2,3,6,7,8}

括号里的括号是二维数组{  {}  }

三维数组{ { {} } }

怎么获取元素呢?

System.out.print(a[1][0]); => 6

System.out.print(a[0][2]); => 3


/**
 * 数组相加
 * */
package com.company;
public class demo {
    public static void main(String[] args) {
        int[] [] arr = new int [] []{
                {3,8,2},
                {2,2,6,7,8},
                {9,0,1,6},
        };
        //----------------------------------------------------------
        int long1 = arr.length;//第一维数组长度
        for(int i = 0; i<long1;i++)
        {
            int[] arr0 = arr [i];  //存放二维数组
            //System.out.println(arr0[i]);  //  3  2 1   拿的是第几数组的第几位
            int long2 =arr0.length;//二维数组长度
            //System.out.println(long2);  //  3  5  4
            for (int j = 0;j<long2;j++){   //i=0 => int[] arr0=arr [0];   所有数
                //System.out.println(arr0[j]);   //输出二维数组   3 8 2 2 2 6 7 8 9 0 1 6
            }

        }
        //方法二
        int man=0;
        for (int z=0;z<arr.length;z++)   //   arr[z][]    arr.length先获取有多少个二维数组,z第几个二维数组
        {
            // System.out.println("\n");
            for(int j1=0;j1<arr[z].length;j1++) {   //arr[z][j]  arr[z]./length先获取z里面有多长,再获取第z个二维数组里的第几位数
                //System.out.print(arr[z][j1]);
                man=arr[z][j1]+man;
            }
        }
        System.out.print(man);
    }
}
/*数组排序*/
package com.company;
public class demo {
    public static void main(String[] args) {

        //正序,从大到小
        //4,7,3,1
        //4,3,1,7第一轮得到一个最大的数字,放在倒数第一位
        //3,1,4,7第二轮得到除最后一个数字之外的最大数字,放在倒数第二位
        //1,3,4,7第三轮得到除最后两个个数字之外的最大数字,放在倒数第三位
        int[] arr = new int[]{2,56,33,1,8,5,64,34};
        int temp = 0;
        for(int i = 0; i < arr.length - 1; i++){//外层循环是循环轮次,轮次循环的次数是数字长度-1
            for(int j = 0; j < arr.length - 1 - i; j++){//每一轮次的数字对比排序,每轮次的循环依次4,3,2,轮次长度-1-i
                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.print(arr[i]);
            if(i!= arr.length-1) System.out.print(",");

        }
        System.out.println("\n");

        for(int i = 0; i < arr.length - 1; i++){//外层循环是循环轮次,轮次循环的次数是数字长度-1
            for(int j = 0; j < arr.length - 1 - i; j++){//每一轮次的数字对比排序,每轮次的循环依次4,3,2,轮次长度-1-i
                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.print(arr[i]);
            if(i!= arr.length-1) System.out.print(",");
        }

    }
}

友情提示,多维数组基本上是用不着的,因为有更好的解决方法。JSON或者集合、数据量大的话,就得用数据库,分表查询操作了。这多维数组就用来解决特定的问题。问题忘记了,哈哈哈哈!有看到再补回来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值