数组注意事项

Posted weixingyuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组注意事项相关的知识,希望对你有一定的参考价值。

  1. 声明数组时候不能带长度 例如:

    Dog myDogs [7];//错误

  2. 但是可以在声明的时候把方括号放在左右两边 例如:

    int [] mySocres [];虽然这样的声明让人不爽,但是如果这样声明对于语法是完全正确的。可以编译通过的。

 

  • 当把一个数组赋给前面声明的数组用时候,正在赋值的数组必须与被赋值的引用具有相同的维数。例如:

  byte[][] big = new byte[7][7];

  byte[][] b = new byte[2][1];

  byte b3 = 5;

  byte b2[][][][] = new byte[2][3][1][4];

 

  b2[0][1] = b;

  b[0][0] = b3;

  b2[1][1][0] = b[0][0]

  b2[1][2][0] = b

  b2[0][1][0][0] = b[0][0]

  b2[0][1] = big

   则b2[0][1] = b;是正确的。b[0][0] = b3;是正确的。b2[1][1][0] = b[0][0];这样是把一个二维数组的第0行1列的值赋值给了一个需要一个一维数组做第三维元素的数组,所以这样的赋值是不合法的。b2[1][2][0] = b;这里需要的一个一维数组,而赋值给了一个二维数组,所以这样是不合法的。b2[0][1][0][0] = b[0][0],四维数组的第四维度,即一个存储的一个值,而b[0][0]也是代表一个值,所以赋值是成功的。b2[0][1] = big;这里b2[0][1]需要一个二维数组,所以big是一个二维数组,把他赋值给他是合法的。

 

  数组元素总是被赋予默认值 ,也就是说如果数组对象一旦生成,则必然数组元素会被初始化。因为数组元素即数组对象是在堆内存中,数组变量即引用是存放在栈内存中。

  数组初始化的两种方法:

    静态初始化:程序员在初始化数组时为数组每个元素赋值

    动态初始化:数组初始化时,程序员指指定数组的长度,由系统为每个元素赋初始值

例如:

  int [] a = {23,22,12,23,21}; //静态初始化这样的语句就会产生出一个新的数组对象,

  int [] array;//只声明了数组,而没有数组对象

  int array[] = new int[5]; //动态初始化 被赋予默认值

  值得强调的是,数组是一种引用的数据类型,数组变量并不是数组本身,而是指向堆内存中存放的数组对象,因此可以改变一个数组变量所引用的数组,

 

 

 

以上是关于数组注意事项的主要内容,如果未能解决你的问题,请参考以下文章

关于多维数组的注意事项

数组注意事项

Java中数组的使用和注意事项

c 数组与指针的使用注意事项

ajax提交数组注意事项

数组使用的注意事项