Java数组

参考:

http://www.w3cschool.cc/java/java-array.html

http://www.blogjava.net/flysky19/articles/92763.html


一,基础

数组对于每一门编辑应语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。

Java语言中提供的数组是用来存储固定大小的同类型元素。


1,变量声明

double[] myList;         // 首选的方法



double myList[];         //  效果相同,但不是首选方法
2,创建数组

Java语言使用new操作符来创建数组,语法如下:

arrayRefVar = new dataType[arraySize];

上面的语法语句做了两件事:

  • 一、使用dataType[arraySize]创建了一个数组。
  • 二、把新创建的数组的引用赋值给变量 arrayRefVar。

数组变量的声明,和创建数组可以用一条语句完成,如下所示:

dataType[] arrayRefVar = new dataType[arraySize];

另外,你还可以使用如下的方式创建数组。

dataType[] arrayRefVar = {value0, value1, ..., valuek};

或者

int[] arr = new int[]{1,3,5};

数组的元素是通过索引访问的。数组索引从0开始,所以索引值从0到arrayRefVar.length-1。


3,数组处理

下面的语句首先声明了一个数组变量myList,接着创建了一个包含10个double类型元素的数组,并且把它的引用赋值给myList变量。

double[] myList = new double[10];

下面的图片描绘了数组myList。这里myList数组里有10个double元素,它的下标从0到9。

java数组结构说明

通过下标访问数组,通过for循环,加强for循环遍历数组,数组也可以作为方法的参数,和返回值。

4,Arrays

java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。具有以下功能:

  • 给数组赋值:通过fill方法。
  • 对数组排序:通过sort方法,按升序。
  • 比较数组:通过equals方法比较数组中元素值是否相等。
  • 查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。
二,高级

java中数组是对象,

MyClass.class.getClass.getSuperClass() 是Object.class

java数组没有对应的类文件

System.out.println(new Object[3].getClass().getDeclaredConstructors().length)   #数组没有构造方法

System.out.println(new Test[1].getClass())  输出:class [Lcom.nqy.mycode.reflection.Test。java中普通类的class对象toString输出的是全限定名+类名,而数组数组输出的是[L+全限定名+类名,二维数组则是[[L+全限定名+类名。

        float[][] fs = new float[3][5];
        System.out.println(fs.length); //打印一维数组的长度,3
        System.out.println(fs[2].length); //打印二维数组的长度,5

        int[] is = (int[]) Array.newInstance(int.class,3);  //创建一维数组
        double[][] ds = (double[][]) Array.newInstance(double.class,2,3); //创建二维数组
        System.out.println(Array.getLength(ds));    //输出二维数组第一唯的长度,2
        System.out.println(Array.getLength(Array.get(ds,1))); //输出二维数组第二唯的长度,3






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值