1.什么是数组?数组的定义有哪几种格式?
数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致。
int[] arr = new int[3];
int[] arr = new int[]{1,2,3,4,5};
int[] arr = {1,2,3,4,5};
2.什么时候使用动态赋值?什么时候使用静态赋值?
数组长度,元素个数不确定时,用动态赋值
数组里面各个元素都确定时,用静态赋值
3.堆中存放的是什么?栈中存放的是什么?
存储对象或者数组,new出来的都储存在堆内存里
栈中放的是运行的方法,比如main方法等,方法要运行要进栈,方法有后来居上的特点,后面进栈的会出现压栈的情况
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
比如一个数组只有3个元素,数组的索引就是0,1,2,没有3索引,因此我们不能访问数组中不存在的索引,如果访问了就会出现数组的越界异常
arr = null;这行代码,意味着变量arr将不会再保存数组的内存地址,也就不允许再操作数组了,因此如果再访问的时候就会出现空指针异常。
5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
参数为基本数据类型的时候,传递的是数据值。
参数为引用数据类型的时候,传递的是地址值(即数组的内存地址)。 |