数组JAVA

一、声明数组

数组是引用类型,声明数组并没有分配空间,则该数组变量的值为null。

类型[]  数组名;

如:double[]   data;


二、创建数组

类型[]  数组名=new 类型[长度];

数组创建,数组里面的元素会被赋值,数值型基本数据类型的默认赋值为0,char类型的默认值为‘\u000’,boolean型的默认值为false。


三、初始化数组

          数组初始化语句  

         类型[]   数组名={value0,value1,…};

         数组初始化语句必须在数组声明,创建时使用。

         类型[]   数组名=new 类型[]{value0,value1,…};

         类型[]   数组名=new 类型[长度]{value0,value1,…};          //长度必须与花括号里面数据的个数一致

         

        new String[0]创建数组,数组的长度为0的空数组。

         没有命令行输入时,main函数的args是对空数组的引用,而不是null。args.length为0。


四、数组复制

      数组复制有三种方法

1) 使用循环语句逐个复制

2)System类中的静态方法arraycopy

    arraycopy(souceArray,srcPos,targetArray,soucePos,length);

    souceArray     源数组

    srcPos            源数组开始复制下标

    targetArray     目标数组

    soucePos      目标数组开始保存下标

    length             复制的长度

3)使用clone方法复制数组

    int[]   a={1,2,3};

    int[]  b=a.clone();


五、Arrays类

         java.util.Arrays类包括许多静态方法

        sort或者parallelSort方法对数组或部分数组进行排序。

        例如:

         Arrays.sort(a);

        Arrays.parallelSort(a);    

 

        Arrays.sort(a,1,3);                  //对数组a[1]到a[3-1]进行升序排列

        Arrays.parallelSort(a,1,3);      //parallelSort方法多处理器时效果更好

        bianrySearch   数组必须升序排序好才能使用

        例如: Arrays.binarySearch(a,11);

        equals检测两个数组是否相等

        例如: Arrays.equals(a,b);

        fill方法填充整个数组或部分数组

        例如:

         Arrays.fill(a,5);               //整个数组填充5

         Arrays.fill(a,1,3,5);        //数组a[1]到a[3-1]填充5


六、二维数组或者更高维数组定义

        类型[][]  数组名=new 类型[长度1][长度2];      //长度2可以不写,代表定义一维数组的数组。数组定义是必须指定第一个下标

        二维数组其实是一个数组,它的元素是数组。各行的长度可以不同。

        数组名.length获取数组的长度。

    

七、可变参数列表

    类型  函数名(类型名…参数名)

    java将可变参看作数组对待,一个数组或可变的参数传递给可变参数。

    如:

 


   
   
  1. int method(int … data){
  2. data[ 0]= 2;
  3. }

   
   
  1. int[] a={ 1, 2, 3};
  2. method(a);
  3. method( 1, 2, 3);


 

 

八、foreach迭代

 

     for(类型 value:数组或者集合){

            // value是集合或者数组的一个个元素

     }

    foreach迭代的效率比普通的for循环要高


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值