JAVA学习札记03

来源:互联网 发布:淘宝代购售假申诉 编辑:程序博客网 时间:2024/06/05 03:00

本文为Java学习第三天所学到的知识,谨在此做记录整理


二维数组的创建与初始化

二维数组的初始化与一维数组的初始化类似只是多了一维的定义,二维数组的第一维存储了第二维的索引(首地址),第二维才是存放的数据,因此对二维数组创建赋值时一般格式为

声明格式:[修饰符]类型修饰符[  ][  ]数组名=new  类型修饰符[长度][长度]

赋值格式:数组名[0][0]= 元素;

  数组名[0][1]= 元素;

数组名[1][0]= 元素;

  数组名[1][1]= 元素;

        。。。。。。

简写形式:[修饰符]类型修饰符[  ][  ]数组名={元素},{元素,元素},{元素,元素,元素}}

二维数组初始化及调用时JVM的内存分配过程分析

程序开始执行,首先将当前主类加载到JVM的方法区中,然后main方法和其他static类型的方法加载到方法区中;加载完成后main方法将会复制一份加载到方法栈中开始执行main方法;首先声明一个二数组,则在方法栈中创建一个数组的指针,该指针指向JVM的堆中,如果不对数组进行初始化,则该指针悬空,指向一个空地址;当对该数组进行初始化时首先会根据需求在堆中开辟第二维空间元素个数加一个空间,

第一个空间的首地址将会返回给栈中数组声明指针,而该块空间中存储的是第二维各个块的首地址通过二级索引完成引用;如果要对该数组中的元素进行访问,则首先会的栈中数组第一维的首地址,并根据索引对数组第二维的元素的首地址进行查询,根据索引完成具体元素访问。


二维数组的遍历

二维数组遍历时由于二维数组维度有两维,每一个元素的具体定位由第一维和第二维共同决定,因此需要利用循环嵌套进行遍历,遍历有两种方法:for()循环方法、foreach()方法两种方法的格式为(以整形数组每一维长度为10为例)

forint=0i<10;i++{

    for(int j=0j<10;j++){

      System.out.println(array[i][j]);

   }

}

 

for( int [] arr : array){

    for(int a: arr) {

      System.out.println(a);

    }

}

 

 

 

 


原创粉丝点击