首页 > 编程知识 正文

java数组,verilog二维数组初始

时间:2023-05-03 06:25:47 阅读:188995 作者:678

JAVA的数组变量是引用类型的变量,并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中就可使用该数组变量。声明数组只是得到了一个数组的引用并为该引用分配了存储空间,但是并没有给数组对象本身分配任何空间。想要给数组对象分配存储空间,必须进行初始化

* 默认初始化

数组元素相当于对象的成员变量,默认值跟成员变量的规则一样

int                        0

float                     0.0f

double                 0.0

boolean               false

char                     ' '

引用数据类型        null

* 静态初始化

在数组创建的地方进行初始化,采用这种初始化的方式,数组的存储空间的分配是由编译器完成的。当创建一个非基本类型的数组时,实际上创建的是引用数组,可以直接使用new在数组里创建元素

注:new可应用于基本类型的数组,但是不能应用于单个的基本类型

int[] arr1 = {1,2,3,4,5};Integer[] arr2 = {new Integer(1), new Integer(2), new Integer(3)};

注:这种声明方式其实只是Java初始化数组的语法糖,其等价于int[] arr1 = new int[]{1,2,3,4,5};

* 动态初始化方式一

用new声明,之后分别初始化数组中的每个元素,声明时需指定数组大小

注:如果数组元素类型为基本数据类型,在完成new 操作之后,数组中的元素会自动初始化为空值,可以直接使用,但是数组元素为引用类型,在完成new操作之后,没有给引用类型赋值,就直接使用数组中的元素,会产生运行时异常

int[] array2 = new int[3]; array2[0] = 1; array2[1] = 2; array2[2] = 3;

* 动态初始化方式二

用new声明的同时初始化,这种方式不能指定数组的大小,数组大小由初始化列表中数据个数决定

int[] array3 = new int[]{1,2,3};

* 给数组的引用赋值

int[] arr1 = {1,2,3,4,5};int[] arr2;arr2 = arr1;

注:Java实际上没有多维数组,只有释为“数组的数组。”,因此可以方便地构造一个“不规则”数组,即数组的每一行有不同的长度:

int[][] balances = new int[LineNum + 1][];for(int n = 0; n < balances.length; n++) {    balances[n] = new int[n+1];}System.out.println(Arrays.deepToString(balances));

其内存分配如图所示:


版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。