(尚硅谷java零基础教程)学习笔记day8-每日一考

1、写出一维数组初始化的两种方式(静态初始化、动态初始化)

int[] arr = new int[]{1,2,3};	//静态初始化,
int[] arr1 = new int[5];		//动态初始化,没有确定数组元素是多少

数组一旦初始化,其长度是确定不可修改的,如果非要修改,必须创建一个新的数组然后将arr数组一一赋值给新数组。arr.length

2、写出二维数组(数组的元素仍然是数组)初始化的两种方式

//静态初始化
int[][] arr = new int[][]{{1,2,3},{4567}{89}};

//动态初始化两种方式
int[][] arr1 = new int[4][5];	//内层数组元素个数已知
int[][] arr2 = new int[5][];	//内层数组元素个数未知

3、如何遍历如下的二维数组

int[] arr[] = new int[][]{{1,2,3},{4,5},{6,7,8}};

程序如下:

for(int i = 0;i < arr.length; i++){
	for(int j = 0;j < arr[i].length;j++){
		System.out.print(arr[i][j]);
	}
	System.out.println();
}

4、不同类型的一维数组元素的默认初始化值各是多少

5、一维数组的内存解析

String[] strs = new String[5];
strs[2] = "Tom";
strs = new String[3];
System.out.println(strs[2]);	//null

第一步:栈空间中 strs 入栈,在堆空间中开辟一块长度为 5 的连续内存空间作为数组,将该数组的首地址值赋给栈空间的 strs 变量,数组的元素全部都赋值默认值。

第二步:将 strs[2] 的默认值 “null” 修改为 “Tom”。(实际上这里的 Tom 值是放置在方法区的常量池中,这里没有详细讲解,而原本 “null” 值替换成放置 “Tom” 的地址值)

第三步:在堆空间中重新创建一个长度为 3 的数组,将首地址值赋给 strs ,数组的元素全部赋值默认值。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值