zoukankan      html  css  js  c++  java
  • java基础-数组

    浏览以下内容前,请点击并阅读 声明

    定义:数组是一个能容纳固定数量,类型单一的若干个值的容器。注意,数组是一个对象。

      数组一旦创建,则其长度固定不变,数组中的所有值叫元素(Element),获取元素要靠索引号(index),索引号从0开始,对应第一个元素。

    声明数组变量

      数组的定义由两部分组成,数组的类型和数组的名称即变量的名称,数组的类型写法为 type[], type是数组中包含的元素的类型,方括号表明这个变量类型为数组,数组的大小不是类型的一部分,因此方括号内为空。例如:

    byte[] anArrayOfBytes;
    short[] anArrayOfShorts;
    long[] anArrayOfLongs;

    方括号也可加在数组名称的后面 如

    byte anArrayOfBytes[] ;

    不过不提倡此形式。

    数组的创建,初始化和取值

      数组的创建可以使用new关键词:

    // 创建一个整数数组
    anArray = new int[10];

      数组的初始化:

    //方法1 使用索引号对数组中的元素逐个赋值
    anArray[0] = 100; // initialize first element
    anArray[1] = 200; // initialize second element
    anArray[2] = 300; // and so forth
    
    //方法2比较简单,这里声明,赋值一步是完成的,数组的大小根据花挂号内的元素个数决定
    //注意以下初始化方式声明,初始化必须在一个语句内
    int[] anArray = { 
        100, 200, 300,
        400, 500, 600, 
        700, 800, 900, 1000
    };
    //或者
    int[] anArray = new int[]{ 
        100, 200, 300,
        400, 500, 600, 
        700, 800, 900, 1000
    };

     注意,第二种方法只能用于声明语句中,如果使用,数组长度由括号内元素个数决定。

    数组取用可以使用数组的索引号,使用实例:

    System.out.println("元素 1 索引号为 0: " + anArray[0]);

    多维数组

    Java中也可以定义元素为数组的数组,即多维数组,其定义和使用见如下代码:

    class MultiDimArrayDemo {
        public static void main(String[] args) {
     //此处定义和赋值必须一步完成   
            String[][] names = {
                {"Mr. ", "Mrs. ", "Ms. "},
                {"Smith", "Jones"}
            };
            // 输出为 Mr. Smith
            System.out.println(names[0][0] + names[1][0]);
            // 输出为 Ms. Jones
            System.out.println(names[0][2] + names[1][1]);
        }
    }

    一维的数组和多维数组都可以用 arrayName.length来获得数组的大小,即元素的个数,如

    //输出数组变量anArray的大小

    System.out.println(anArray.length);

    数组的复制

      System类中提供了一个arraycopy的方法,可以实现将一个数组复制到另一个数组,用法为:

      public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 

      其中src为复制的源数组,dest位目的数组,srcPos为源数组的起始位置,length为需要复制的数量。如:

    class ArrayCopyDemo {
        public static void main(String[] args) {
            char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e',
                    'i', 'n', 'a', 't', 'e', 'd' };
            char[] copyTo = new char[7];
            System.arraycopy(copyFrom, 2, copyTo, 0, 7);
    
    //输出为caffein
            System.out.println(new String(copyTo));
        }
    }

    如果创建一个简单的数组而且仅使用一次,可使用如下快捷方法如:

    //随机创建数组并输出其中一个元素 结果为 cdd
    System.out.println(new String[]{"abc","cdd"}[1]);

    此外,java的java.util.Arrays提供了比较多的对数组进行操作的方法,详见其API文档。

  • 相关阅读:
    linux驱动开发学习一:创建一个字符设备
    如何高效的对有序数组去重
    找到缺失的第一个正整数
    .NET不可变集合已经正式发布
    中国人唯一不认可的成功——就是家庭的和睦,人生的平淡【转】
    自己动手搭建 MongoDB 环境,并建立一个 .NET HelloWorld 程序测试
    ASP.NET MVC 中如何用自定义 Handler 来处理来自 AJAX 请求的 HttpRequestValidationException 错误
    自己动手搭建 Redis 环境,并建立一个 .NET HelloWorld 程序测试
    ServiceStack 介绍
    一步一步实战扩展 ASP.NET Route,实现小写 URL、个性化 URL
  • 原文地址:https://www.cnblogs.com/justforcon/p/6000606.html
Copyright © 2011-2022 走看看