java数组介绍

数组

数组是一个存放多个数据的容器。

    数据是同一种类型
    所有的数据是线性规则排列
    可通过位置索引来快速定位访问数据
    需明确容器的长度

 
Java数组的定义和初始化

    int a[];
    int[] b; //推荐用这种方式来定义数组

上面代码中的a和b数组只定义了,但是没有new操作,实际上是null。

    int[] c = new int[2];  //c有2个元素,都是0 (见附录,代码示例1)
    c[0] = 10;  c[1] = 20;

我们也可以在定义的同时对数组进行初始化。

    int d[] = new int[]{0,2,4};
     
    int d1[] = {1,3,5};  //这是一种简写

 
Java 数组索引

    数组的length属性标识了数组的长度

    public class Demo1 {
     
        public static void main(String[] args) {
            int[] a = new int[] {3,4,5,6,7};
            System.out.println(a.length);
        }
        
    }

如上,这里的数组里元素有5个。

    数组的索引是从0开始的,最大的索引是 length-1 (Java中好像是不能像Python那样有-1的索引的,这点需要注意)

    public class Demo1 {
     
        public static void main(String[] args) {
            int[] a = new int[] {3,4,5,6,7};
            System.out.println(a[0]);  //输出结果为3
            System.out.println(a[4]);  //输出结果为7
        }
        
    }

    如果索引超出范围,会报ArrayIndexOutOfBoundsException异常。

 
Java数组遍历

    public class Demo1 {
     
        public static void main(String[] args) {
            
            int[] a = new int[] {3,4,5,6,7};
            
            //需要自己控制索引位置
            for (int i = 0; i < a.length; i++) {
                System.out.println(a[i]);
            }
            
        }
        
    }

    public class Demo1 {
     
        public static void main(String[] args) {
            
            int[] a = new int[] {3,4,5,6,7};
            
            //无需控制索引位置
            for (int e : a) {
                System.out.println(e);
            }
            
        }
        
    }

上面两种遍历出来结果都是一样的。但第二种方法更好,不会存在越界的问题。

 
Java中的多维数组

    //规则的多维数组
    int a[][] = new int[2][3]; //2行3列

上面代码可以用一张图来形象表示:

    //不规则的多维数组
    int b[][];
    b = new int[3][];         //定义这个数组有3行
    b[0] = new int [3];        //接着对数组定义这行有多少列
    b[1] = new int [4];
    b[2] = new int [5];

 
Java多维数组的访问

用for语句的第一种方法:

    public class Demo1 {
     
        public static void main(String[] args) {
            
            
            //不规则的多维数组
            int b[][];
            b = new int[3][];         //定义这个数组有3行
            b[0] = new int [] {1,2,3};        //接着对数组定义这行有多少列
            b[1] = new int [] {4,5,6,7};
            b[2] = new int [] {8,9,10,11,12};
            
     
            for (int i = 0; i < b.length; i++) {
                for (int j = 0; j < b[i].length; j++) {
                    System.out.print(b[i][j]+",");
                }
                System.out.println();
            }
     
            
        }
        
    }

输出结果:

    1,2,3,
    4,5,6,7,
    8,9,10,11,12,

下面我们是访问多维数组的另一种方法,这类型的for语句也被称为 for-each语句。(注意本例子中,println与print的区别)

    public class Demo2 {
     
        public static void main(String[] args) {
            
            //不规则的多维数组
            int b[][];
            b = new int[3][];         //定义这个数组有3行
            b[0] = new int [] {1,2,3};
            b[1] = new int [] {4,5,6,7};
            b[2] = new int [] {8,9,10,11,12};
                
            for (int[] items : b) {
                for (int item : items) {
                    System.out.print(item+",");
                }
                System.out.println();
            }
            
        }
        
    }

输出结果:

    1,2,3,
    4,5,6,7,
    8,9,10,11,12,

 
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值