A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天我们学习了数组,请根据自己的理解对下列问题进行回答:

今天需要掌握的知识点有:

1.什么是数组?数组的定义有哪几种格式?

2.什么时候使用动态赋值?什么时候使用静态赋值?

3.堆中存放的是什么?栈中存放的是什么?

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?

5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?

69 个回复

倒序浏览
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.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
参数为基本数据类型的时候,传递的是数据值。
参数为引用数据类型的时候,传递的是地址值(即数组的内存地址)。
回复 使用道具 举报
本帖最后由 Wyt1935 于 2019-3-4 21:36 编辑

吴元陶:
今天需要掌握的知识点有:

1.什么是数组?数组的定义有哪几种格式?

  答:数组是一种容器,可以同时存放多个数据值;它分两种格式,分别是动态初始化和静态初始化。



2.什么时候使用动态赋值?什么时候使用静态赋值?

  答:如果不确定数组里的具体内容,就用动态初始化;或者已经确定了具体内容,那么就用静态初始化。



3.堆中存放的是什么?栈中存放的是什么?

  答:凡是new出来的东西,都在堆当中;栈中存放的都是方法中的局部变量。



4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?

  答:创建数组,赋值3个元素,数组的索引就是[ 0 , 1 , 2 ]没有[ 3 ]索引,因此我们不能访问数组中不存在的索引,
程序运行后,将会抛出"ArrayIndexOutOfBoundsException"数组越界异常。

  答:如数组被赋为null,将不会保存数组的内存地址,也就不允许再操作数组了,因此运行的时候会抛出"NullPointerException"空指针异常。


5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?

  答:参数为基本数据类型的时候传递返回值;参数为引用数据类型的时候传递的是数组内存的地址。

点评

发表于 2019-3-4 21:30
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
答:
        概念:可以同时存放多个数据值的容器;
        格式:
                动态:数据类型 [ ] 数组名称 = new 数组类型 [数组长度];
                静态(标准):数据类型[ ] 数据名称 = new 数据类型 [ ] { 元素1,元素2,...};
                静态(省略):数据类型[ ] 数据名称 = { 元素1,元素2,...};
2.什么时候使用动态赋值?什么时候使用静态赋值?
答:
        适用场景:
                动态:不确定数组的具体内容;
                静态:已知数组的具体内容;
3.堆中存放的是什么?栈中存放的是什么?
答:
        栈:存放局部变量;方法的运行也在其中;
        堆:new出来的数据,这些数据都有一个地址值;
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:
        索引越界异常:访问数组的索引编号不存在时,会发生数据索引越界异常,即索引编号写错 ;
        空指针:数组必须进行new初始化才能使用其中的元素,如果只赋一个null,没有进行new化,就会发生空指针异常,即忘了new;
5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
答:
        基本数据:变量值;
        引用数据:地址值。

回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
答:
        概念:可以同时存放多个数据值的容器;
        格式:
                动态:数据类型 [ ] 数组名称 = new 数组类型 [数组长度];
                静态(标准):数据类型[ ] 数据名称 = new 数据类型 [ ] { 元素1,元素2,...};
                静态(省略):数据类型[ ] 数据名称 = { 元素1,元素2,...};
2.什么时候使用动态赋值?什么时候使用静态赋值?
答:
        适用场景:
                动态:不确定数组的具体内容;
                静态:已知数组的具体内容;
3.堆中存放的是什么?栈中存放的是什么?
答:
        栈:存放局部变量;方法的运行也在其中;
        堆:new出来的数据,这些数据都有一个地址值;
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:
        索引越界异常:访问数组的索引编号不存在时,会发生数据索引越界异常,即索引编号写错 ;
        空指针:数组必须进行new初始化才能使用其中的元素,如果只赋一个null,没有进行new化,就会发生空指针异常,即忘了new;
5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
答:
        基本数据:变量值;
        引用数据:地址值。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致;
三种
1)动态初始化        数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度];
2)静态初始化(标准格式)        数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3...};
3)静态初始化(省略格式)        数据类型[] 数组名 = {元素1,元素2,元素3...};
2.什么时候使用动态赋值?什么时候使用静态赋值?
当不确定数组中元素的值时使用动态赋值;
当数组元素的值可以确定时使用静态赋值
3.堆中存放的是什么?栈中存放的是什么?
堆中存放的是程序中new出来的内容,对象或者数组
栈中存放的是方法中的局部变量,方法运行时会入栈执行
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组越界异常是由于访问数组元素时索引超出数组长度,运行后产生;
数组空指针异常是由于数组名赋值为null后,不再保存数组的内存地址,此时如果再操作数组运行时就会产生空指针异常
5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
参数为基本数据类型时传递的是参数存储的值;
参数为引用数据类型时传递的是该引用存储的地址值
回复 使用道具 举报 1 0
1.什么是数组?数组的定义有哪几种格式?
答:数组含义——数组是一种容器,可以同时存放多个数据值;
        它分两种格式,分别是动态初始化和静态初始化。
2.什么时候使用动态赋值?什么时候使用静态赋值?
答:如果不确定数组里的具体内容,就用动态初始化;如果已经确定了具体内容,就用静态初始化。
3.堆中存放的是什么?栈中存放的是什么?
答:凡是new出来的东西,都在堆当中;栈中存放的都是方法中的局部变量。
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:当访问数组的某个值的位置超过数组的最大长度,运行时就会产生越界异常;
       如果赋予数组为null,将不会保存数组的内存地址,也就不允许再操作数组,因此运行的时候会抛出"NullPointerException"空指针异常。
5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
答:参数为基本数据类型的时候传递返回值;参数为引用数据类型的时候传递的是内存的地址。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
        (1)数组就是一种可以容纳多个数据的容器。
        (2)数组的定义有两种格式:
                静态初始化,例:int[] arr = { 1, 2, 3 };
                动态初始化,例:int[] arr = new int[ 3 ];
2.什么时候使用动态赋值?什么时候使用静态赋值?
        (1)当数组的元素个数确定时,使用静态赋值;
        (2)当数组的元素个数不确定时,使用动态赋值。
3.堆中存放的是什么?栈中存放的是什么?
        (1)堆中存放着所有new出来的东西,以及他们的16进制地址值,还有各个数据所对应的默认值、数据值;
        (2)栈中存放着方法中的局部变量。
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
        (1)数组越界异常:一个数组的元素索引值从0开始,一直到arr.length-1为止。如果在程序运行过程中对元素的调用超出了这个范围,则会抛出数组越界异常;
        (2)数组空指针异常有两种情况:
                情况一:当一个数组只是被定义了而没有new来初始化的时候,此时去调用数组里的元素,会抛出空指针异常;
                情况二:当一个数组被赋值为null的时候,此时去调用数组里的元素,也会抛出空指针异常。
5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
        (1)参数为基本数据类型的时候,传递的是变量所存储的常量值;
        (2)参数为引用数据类型的时候,传递的是参数所引用的在堆中的地址值,以对堆内存中的引用数据进行操作。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
定义:是一种容器,可以存放多个数据值
格式:
1.数据类型[]  数组名称  =  new  数据类型[数组长度]
2.数据类型[] 数组名称 = new 数据类型[]{元素1,元素2...}
3.数据类型[] 数组名称 ={元素1,元素2...};

2.什么时候使用动态赋值?什么时候使用静态赋值?
不确定内容用动态,确定内容用静态

3.堆中存放的是什么?栈中存放的是什么?
堆中存放的是new出来的东西,一个地址值;
栈中存放的是方法的局部变量

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
索引异常时索引超出范围,
如数组被赋为null,将不会保存数组的内存地址,也就不允许再操作数组了

5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
参数为基本数据类型的时候,传递的是数值;
参数为引用数据类型的时候,传递的是地址值;
回复 使用道具 举报 1 0
1.什么是数组?数组的定义有哪几种格式?
        概念:可以同时存放多个数据值的容器;
        格式:
                动态:数据类型 [ ] 数组名称 = new 数组类型 [数组长度];
                静态(标准):数据类型[ ] 数据名称 = new 数据类型 [ ] { 元素1,元素2,...};
                静态(省略):数据类型[ ] 数据名称 = { 元素1,元素2,...};
2.什么时候使用动态赋值?什么时候使用静态赋值?
            适用场景:
                动态:不确定数组的具体内容;
                静态:已知数组的具体内容;


3.堆中存放的是什么?栈中存放的是什么?
        栈:存放局部变量;方法的运行也在其中;
        堆:new出来的数据,这些数据都有一个地址值;

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
        索引越界异常:访问数组的索引编号不存在时,会发生数据索引越界异常,即索引编号写错 ;
        空指针:数组必须进行new初始化才能使用其中的元素,如果只赋一个null,没有进行new化,就会发生空指针异常,即忘了new;

5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
        基本数据:变量值;
        引用数据:地址值。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致。
数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度];
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3...};
数据类型[] 数组名 = {元素1,元素2,元素3...};

2.什么时候使用动态赋值?什么时候使用静态赋值?
如果不确定数组里的具体内容,就用动态初始化;
已经确定了具体内容,就用静态初始化
3.堆中存放的是什么?栈中存放的是什么?
堆内存:存储对象或者数组,new来创建的,都存储在堆内存。
方法栈:方法运行时使用的内存,比如main方法运行,进入方法栈中执行。
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
如果访问数组元素的时候,索引编号并不存在,那么将会发生数组越界异常;
如数组被赋为null,将不会保存数组的内存地址,也就不允许再操作数组了,因此运行的时候会抛出"NullPointerException"空指针异常.
5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
参数为基本数据类型的时候,传递的是数据值
参数为引用数据类型的时候,传递的是内存地址值
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
数组是能同时存储若干个数据的一个容器,数组有两种定义格式,分别是定义数组长度(动态初始化)和定义数组内容(静态初始化)。

2.什么时候使用动态赋值?什么时候使用静态赋值?
确定数组长度,但是不确定数组内容的时候使用动态赋值。
确定数组的内容时,使用静态赋值。


3.堆中存放的是什么?栈中存放的是什么?
堆中存放的是new出来的东西,栈中存放的是运行中的方法和局部变量

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组越界索引异常的产生是由于访问了数组中不存在的索引;
数组空指针异常的产生是由于没有给数组提供地址值

5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
参数为基本类型时,传递的是数据值. 参数为引用类型时,传递的是地址值
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
数组是一种容器,将相同数据类型的值存放在一起
格式有
数据类型[] 数组名 = new 数据类型[参数个数];
数据类型[] 数组名 = new 数据类型{元素1、元素2.。。。};
数据类型[] 数组名 = {元素1、元素2.。。。};

2.什么时候使用动态赋值?什么时候使用静态赋值?
不知道具体元素,只知道个数的时候用动态赋值
知道具体元素的时候,用静态赋值

3.堆中存放的是什么?栈中存放的是什么?
堆中放的是地址值
栈中存放的是对象

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
当输入的下标大于数组的最大下表时,就会产生数组越界异常
当数组中没有任何元素时,就会产生数组空指针异常
5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
参数为基本数据类型的时候,传递的是传递的时值。
数为引用数据类型的时候,传递的是地址值。
回复 使用道具 举报

1.什么是数组?数组的定义有哪几种格式?
      数组的概率:是一种容器,可以同时存放多个数据值
      动态初始化(指定长度)
数据类型【】数组名称=new 数据类型【数组长度】
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3...};
数据类型[] 数组名 = {元素1,元素2,元素3...}
  2静态初始化(指定内容)


2.什么时候使用动态赋值?什么时候使用静态赋值?
     动态初始化指定长度

静态初始化指定内容

3.堆中存放的是什么?栈中存放的是什么?
     方是new出来的东西,都在推当中,
     存放的都是方法的局部变量,方法的运行一定在stack中
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
     1 数组索引值超出长度 或数组中不存在的索引,
     arr=null
5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
    1. 1整数类型(byte/short/int/long) 默认为0
    2浮点类型 (double/folat)默认为0.0
    3布尔类型 (boolean)默认为false
   
4. 引用类型(String)默认为null
    5如果是字符类型,默认欸‘\u0000’;
回复 使用道具 举报
1、存放数据的容器;三种
2、在数组的元素不确定的时候使用动态赋值;在确定数组的元素时用静态赋值
3、堆:凡是new出来的都在堆里,堆中的数据都有一个16进制的地址值;
栈:存放方法中的局部变量,一旦超出作用域,立刻从栈中消失;方法的运行一定要在栈当中;
4、数组下标索引超出数组的最大下标索引;数组没有new
5、参数为基本数据类型时,传递的是数据值;参数为引用数据类型时,传递的时内存地址值
回复 使用道具 举报
1.
数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致
数组的定义格式:
(1).数据类型[] 数组名 = new 数据类型[] {元素1,元素2,元素3...};
(2).数据类型[] 数组名 = new 数据类型[长度];
(3).数据类型[] 数组名 = {元素1,元素2,元素3...};
2.
当知道数组个数的时候而不知道具体元素时使用动态赋值;
当知道每个具体元素的时候使用静态赋值。
3.
堆中存放的是:对象或者数组,new来创建的。
栈中存放的是:方法,比如main方法。
4.
数组越界异常是我们访问数组中不存在的索引而产生的。
数组空指针异常是我们操作了arr = null 的数组。
5.
参数为基本数据类型的时候,传递的是数据值;
参数为引用数据类型的时候传递的是地址值。




回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
答: 数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致
格式:数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度];
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3...};
数据类型[] 数组名 = {元素1,元素2,元素3...};
2.什么时候使用动态赋值?什么时候使用静态赋值?
答:不知道数组长度的时候用动态赋值,知道数组存储长度的时候用静态赋值
3.堆中存放的是什么?栈中存放的是什么?
答:堆存储对象或者数组,new来创建的,都存储在堆内存;栈是方法运行时使用的内存,比如main方法运行,进入方法栈中执行
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:使用超出数组索引范围的数值索引会产生越界异常;不保存数组地址会产生数组空指针异常
5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
答:基本数据类型传递的是数值内容;引用数据类型传递的是数组内存地址
回复 使用道具 举报
1、数组是一种容器,可以存储多个数据类型相同的数据。有两种格式:
动态初始化: 数据类型[] 数组名称=new数据类型[数组长度];
静态初始化:数据类型[] 数组名称 = new 数据类型[]{元素1,元素2...};
2、确定数组长度时用动态,确定元素内容的用静态。
3、堆中存放的是new出来的东西,而栈是存放方法中的局部变量
4、越界是因为访问索引值不符合数组长度,空指针异常是应为,创建数组时没有new 而是赋值一个null。
5、基本数据类型是 数据值,引用类型是一个地址值
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致。

2.什么时候使用动态赋值?什么时候使用静态赋值?
如果不确定数组当中的具体内容,用动态初始化;否则,已经确定了具体的内容,用静态初始化。

3.堆中存放的是什么?栈中存放的是什么?
堆内存存储对象或者数组,new来创建的,都存储在堆内存中。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
越界异常:
如果访问数组元素的时候,索引编号并不存在,那么将会发生数组索引越界异常
空指针异常:
(1)引用数据类型赋值为null;
(2)数组必须进行new初始化才能使用其中的元素。如果只是赋值了一个null,没有进行new创建,会发生空指针异常。

5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
参数为基本数据类型的时候,传递的是数据值;
参数为引用数据类型的时候,传递的是引用数据类型的内存地址值。
回复 使用道具 举报
陈鹏涛:
1.什么是数组?数组的定义有哪几种格式?
      数组的概率:是一种容器,可以同时存放多个数据值
      动态初始化(指定长度)
数据类型【】数组名称=new 数据类型【数组长度】
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3...};
数据类型[] 数组名 = {元素1,元素2,元素3...}
  2静态初始化(指定内容)


2.什么时候使用动态赋值?什么时候使用静态赋值?
     动态初始化指定长度

静态初始化指定内容

3.堆中存放的是什么?栈中存放的是什么?
     方是new出来的东西,都在推当中,
     存放的都是方法的局部变量,方法的运行一定在stack中
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
     1 数组索引值超出长度 或数组中不存在的索引,
     arr=null
5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
    1. 1整数类型(byte/short/int/long) 默认为0
    2浮点类型 (double/folat)默认为0.0
    3布尔类型 (boolean)默认为false
  数址值
   
4. 引用类型(String)默认为null
    5如果是字符类型,默认欸‘\u0000’
内存值
回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 加入黑马