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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 厦门校区 黑马粉丝团   /  2018-12-4 20:54  /  3505 人查看  /  44 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


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

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

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

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

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

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

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

44 个回复

倒序浏览
本帖最后由 许晓明 于 2018-12-4 21:44 编辑

1.什么是数组?数组的定义有哪几种格式?
答:数组是用来存储数据的容器,定义有两种,一种为动态初始化(数据类型[] 数组名称=new 数据类型[数组长度]),一种为静态初始化(数据类型[] 数组名称=new 数据类型[]{ 数组元素 })

2.什么时候使用动态赋值?什么时候使用静态赋值?
答:当仅知道数组长度不知道数组内元素时,使用动态赋值,当知道数组内的元素时,可用静态赋值

3.堆中存放的是什么?栈中存放的是什么?
答:堆中存放的是:用new创建的对象,栈中存放的是方法运行所需要的内存

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:在程序运行过程中数组索引值超过数组长度长生的。数组名称所指向的地址值为null(空)

5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
答:参数为基本数据类型时传递的是数据值,引用数据类型作为参数传递的是地址
回复 使用道具 举报
雷均

1.什么是数组?数组的定义有哪几种格式?
数组就是用来存放多个数据的容器,数组的定义有3种形式。动态定义和静态定义以及简化版

2.什么时候使用动态赋值?什么时候使用静态赋值?
知道数组内容时使用静态赋值,不知道数组内容,只知道数组长度时用动态赋值;

3.堆中存放的是什么?栈中存放的是什么?
堆中存放的new产生的内容,栈中存放的是定义的方法名,以及堆中变量的地址值

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
越界异常时由于数组的索引值超过了数组的长度;
空指针异常时由于数组存放的地址值为空,什么也没有指向;

5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
基本数据类型为参数时,传递的是具体的数值,能够直接使用,
引用类型为参数时,传递的是引用类型变量的地址值;作为返回值返回时,也是返回的地址值
回复 使用道具 举报
本帖最后由 洪烁铭 于 2018-12-4 21:43 编辑

1.数组是用来接收同一数据类型的容器。
特点:程序一旦运行,长度不可改变;储存的数据类型必须统一;数组是引用数据类型。
格式:静态初始化分为两种 1、标准格式:  数据类型[] 数组名称= new 数据类型[] {元素1,元素2,···}  2.省略格式:数据类型[] 数组名称={元素1,元素2,···} 还有动态初始化 格式为:  数据类型[] 数组名称= new 数据类型[数组长度]

2.当不确定数组内容时,就要动态赋值。相反,使用静态赋值。

3.堆当中储存的是new出来的。 栈中执行方法和储存局部变量。

4.当使用的索引值编号超过数所拥有的的索引值。
当变量不再保存地址值时,则数组空指针异常。现在遇到的情况是把null赋值给数组。

5.参数作为基本数据类型时,传递的是值;作为引用数据类型时,传递的是地址值。

回复 使用道具 举报
1.数组就是一个组合,八几个相同数据类型的数据组合在同一个盒子里面,成为一组数组。2.数组的定义有两种格式:①动态数组格式:数据类型1 []  数组名称 = new 数据类型1  [数组长度];  ②静态数组格式:数据类型1 []  数组名称 = new 数据类型1  []{数据1,数据2,...},其中可省略写为:数据类型1 []  数组名称 = {数据1,数据2,...}。

3.内存堆中存放的是都是编程定义了new的东西。内存栈中存放的是编程用到的方法,不过有个前提是main方法要先进栈,其他调用的方法才能进栈。

4.数组越界异常是已知这个数组的长度为x,而你却想要这个数组给你个长度为x+1的值,这个时候就会出现越界异常。数组空指针异常是你定义了一个数组,让这个数组等于null:比如String[] str = null,这个数组没法在内存堆中找到自己的位置,你要打印这个数组的地址值时,就会出现空指针异常。

5.参数为基本数据类型的时候,传递的是数据本身。参数为引用数据类型的时候,传递的是堆中的 地址值。
——————————————————————————————————成成
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
数组就是存储一堆一样数据类型的盒子。
三种格式。动态初始化,静态初始化,和两个初始化的省略版本
静态初始化的省略版本不能分为两个步骤, 动态却可以分为两个步骤
2.什么时候使用动态赋值?什么时候使用静态赋值?
当不知道数组的内容是使用动态初始化,
当知道 数组的内容时推荐使用静态初始化

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

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
索引时超出了内容的元素时就发生了,,数组越界异常
数组空指针是指给数组赋值了,null 所以,数组不能储存数组的内存地址

5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
基本类型传递的是数据值
引用类型传递的是内存地址
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
数组就是存储相同数据类型的集合。数组的定义有两种格式,分为动态的和静态的;
2.什么时候使用动态赋值?什么时候使用静态赋值?
当不清楚数组中的内容时,使用动态赋值,否则可使用静态赋值;
3.堆中存放的是什么?栈中存放的是什么?
堆中放方法中创建(new)出来的对象,栈中放的是函数中定义的一些基本类型的变量和对象的引用变量
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
当下标超过数组定义的长度时,会发生数组越界。当数组指向一个为NULL的对象时,会发生的错误
5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
参数为基本类型时传递的是对象所指向的数据,当对象为引用数据类型时传递的是对象在内存空间的地址

点评

数组可以理解为一个容器,但是不能说它是一个集合,后续会对集合进行介绍  发表于 2018-12-5 15:42
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
数组array:存储相同类型数据的集合,有静态和动态初始化两种格式;


2.什么时候使用动态赋值?什么时候使用静态赋值?
不确定数组元素个数使用动态,指定长度;确定数组长度使用静态,指定内容;


3.堆中存放的是什么?栈中存放的是什么?
堆heap:存放创建出来的数组; 栈存放的是方法,方法运行进栈,运行完毕出栈


4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
访问的索引值超过了数组的最大索引值; 数组的引用指向没有指向内存地址;


5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
参数为基本数据类型的时候,传递的是对象所指向的数据;
参数为引用数据类型的时候,传递的是数组的地址值;

点评

数组可以理解为一个容器,但是不能说它是一个集合,后续会对集合进行介绍  发表于 2018-12-5 15:43
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?答:数组是存放数据的一种工具,定义有 动态初始化,静态初始化标准格式,静态初始化的简化格式。

2.什么时候使用动态赋值?什么时候使用静态赋值?
答:动态赋值是在数组元素具体值得情况下进行使用,静态赋值是在已知数组元素的具体值得情况下使用。


3.堆中存放的是什么?栈中存放的是什么?
答:栈中存放的是局部变量和堆中数据的地址值。堆中存放的是new出来的数据,成员变量的具体值和成员方法的地址值。


4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:数组越界异常是因为,索引编号出现问题(超出了数组元素编号)。空指针异常是以为,没有创建数组,没有new。


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




答: 参数是基本数据类型时,传递的是具体的数据值。 引用数据类型传递的是,数据的地址值。
回复 使用道具 举报
1.数组就是用来存储相同类型数据的区域,且在程序运行中不会改变数据长度。数组的定义包括静态初始化和动态初始化两种。
2.建议在明确数据具体内容的情况下用静态赋值,在不明确数据具体内容只明确数据个数的情况下用动态赋值。
3.堆中存放的是new出来的内容,栈中存放的是方法运行的数据类型、方法名和参数。
4.数据越界异常指的是索引值超过了数据长度。空指针异常指的是数组访问地址值时指向了没有内容的引用类型。
5.参数为基本数据类型的时候,传递的是相同数据类型的数据,参数为引用数据类型的时候,传递的是数据的地址值。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
数组是可以存储多个常量一个容器,动态初始化和静态初始化

2.什么时候使用动态赋值?什么时候使用静态赋值?
不知道数组内具体数据的时候用动态赋值,知道数组内具体数据的时候使用静态赋值

3.堆中存放的是什么?栈中存放的是什么?
new出来的东西都在堆中;栈中存放的都是方法的局部变量

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组的越界异常是索引值超出了定义的数组的长度;数组内如果没有存放任何数据而被调用的话会报空指针异常

5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
参数为基本数据类型的时候传递的是对象指定的数据;参数为引用数据类型的时候传递的是地址值

点评

数组内如果没有存放任何数据而被调用的话会报空指针异常,这句话是不对的,数组已经初始化但只是没有存入数据,此时调用是不会产生空指针异常的  发表于 2018-12-5 15:53
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
数组就是储存数据长度固定的容器,保证多个数据的数据类型一致.
有动态初始化和静态初始化.

2.什么时候使用动态赋值?什么时候使用静态赋值?
知道数组中具体的内容时使用静态赋值,不知道时使用动态赋值

3.堆中存放的是什么?栈中存放的是什么?
堆存放的都是new出来的.栈存放的都是方法.

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
访问的索引值超过了数组的最大索引值.
数组的引用没有指向内存地址,指向了引用

5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
参数为基本数据类型的时候传递的是对象所指向的数据.参数为引用数据类型的时候,传递的是地址值.
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
答:数组是存储多个数据的容器,一个数组中的数据类型是一致的,数组的长度一旦确定则无法改变。
      数组定义格式:1.数组存储的数据类型[] 数组名称 = new 数组存储的数据类型[数组的长度];
                             2.数组存储的数据类型[] 数组名称 = new 数组存储的数据类型[] {元素1, 元素2, ..., 元素n};
                             3.数组存储的数据类型[] 数组名称 = {元素1, 元素2, ..., 元素n};
                          
2.什么时候使用动态赋值?什么时候使用静态赋值?
答:当要存入数组的所有元素已知时使用静态赋值,否则使用动态赋值。

3.堆中存放的是什么?栈中存放的是什么?
答:堆中存放的是对象或者数组,凡是用了关键字new来创建的都放在堆中;
      栈中存放的是变量名称,是方法运行时使用的内存。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:数组越界异常是指当数组的索引值范围超过或等于数组的长度时抛出的异常,此时要将该索引值改回可用范围内;
       数组空指针异常是指没有给建立的某个数组变量赋值,导致这个数组变量不能指向某个数组,解决方式是给这个数组变量赋值,或者删除这个数组变量。

5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
答:参数为基本数据类型的时候,传递的是数据本身;参数为引用数据类型的时候,传递的是引用对象的地址哈希值。
回复 使用道具 举报
提示: 该帖被管理员或版主屏蔽
回复 使用道具 举报
1.数组是一种引用型数据类型,是用来存储多个数据的集合。
有动态和静态两种,其中静态分为标准格式和省略格式。
2.动态赋值:长度确定,元素不确定时;
静态赋值:元素确定时。
3.堆:new后面的数据都是堆的内容。
栈:变量和方法运行的空间。
4越界异常:索引值超过数组长度
空指针异常:数组没有对应的地址值。
5.参数为基本数据时是 : 值;
参数为引用数据类型时是:地址值。
回复 使用道具 举报
1.数组就是装数据的容器,数据的定义2种格式,动态初始化和静态初始化。
2.当知道数组的长度不知道内容时用动态赋值,已知数组内容用静态赋值。
3.堆中存放的是new出来的新对象,栈中存放的是基本类型的数据和数组等引用类型的地址值
4.数据异常就是数据超出了原本循环界定的方位,数组空指针是因为数组所对应的地址值没有所对应的堆内创建的对象。
5参数为基本数据类型的时候,传递的是数据值.参数为引用数据类型的时候,传递的是地址值.
回复 使用道具 举报 1 0
1.什么是数组?数组的定义有哪几种格式?
数组是可以存放多个,同数据类型的数值,数组有三种格式,
1.数据类型[] 数组名称 = new 数据类型{元素1,元素2.。。。};
2.数据类型[] 数组名称 = new 数据类型【索引值】;
3.数据类型[] 数组名称;
     数组名称 = new 数据类型【索引值】;

2.什么时候使用动态赋值?什么时候使用静态赋值?
不知道数组【索引值】的时候用动态赋值,知道数组【索引值】的时候用静态赋值。

3.堆中存放的是什么?栈中存放的是什么?
堆中存放:常量池,static的变量,new出来的对象。
栈中存放:方法中布局变量。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
当程序编译超过数组【索引值】范围,就会数组越界。
数组已经定义,但没给数组指向数据的时候。就会发生空指针异常。

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

点评

方法参数传递时,如果是基本数据类型的传递,那么传递的是具体的数值,如果是引用数据类型,那么传递的是地址值  发表于 2018-12-5 16:00
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
数组是储存多个数据的容器,数组长度在程序运行期间固定不变,且数据类型一致。
有两种格式:动态初始化;静态初始化。
2.什么时候使用动态赋值?什么时候使用静态赋值?
不知道数组内容,只知道数组长度时用动态赋值;知道数组内容时使用静态赋值。
3.堆中存放的是什么?栈中存放的是什么?
堆中存放数组;栈中存放方法运行。
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组越界异常索引编号不存在时产生的。数组空指针异常是忘了new造成的。
5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?

参数为基本数据类型的时候,传递的是数据值。
参数为引用数据类型的时候,传递的是什么地址值。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?数组:是一种容器,可以同时存放多个数据值;
定义格式:动态初始化,静态初始化.

2.什么时候使用动态赋值?什么时候使用静态赋值?
动态赋值:不确定元素具体内容,指定长度的时候;
静态赋值:确定指定内容的时候.

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

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组越界:访问数组元素的时候,索引编号并不存在,就会发生数组越界异常;
数组空指针异常:没有给建立的某个数组变量赋值,导致这个数组变量不能指向某个数组.

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

基本数据类型为参数时,传递的是具体的数值,能够直接使用;
引用类型为参数时,传递的是引用类型变量的地址值;作为返回值返回时,也是返回的地址值

回复 使用道具 举报
本帖最后由 陈益源 于 2018-12-4 21:43 编辑

1.什么是数组?数组的定义有哪几种格式?
数组是一种容器,存储同一种数据类型、固定长度的多个数据
格式:动态,数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度];
          静态,数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[] {元素1,元素2...}

2.什么时候使用动态赋值?什么时候使用静态赋值?
已知数组长度使用动态赋值;
已知数组元素使用静态赋值;

3.堆中存放的是什么?栈中存放的是什么?
堆中存放new新创建的数组;
栈中存放main方法运行、数组的地址值、局部变量

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
越界异常:索引值超过数组长度
数组空指针:数组存放的地址值为空,无法在堆中找到对应的数组

5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?
方法的参数为基本类型时,传递的是数据值. 方法的参数为引用类型时,传递的是地址值
回复 使用道具 举报 1 0
1:存储数据的容器,2种 静态和动态
2:知道数组长度用动态 知道数组内元素用静态。
3:堆种存放的是new出来的数据,栈中存放的是局部变量。
4:索引值超过数组的长度,数组的引用没有指向内存地址
5:具体的数据值,地址值。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
答:数组从字面意思上理解是一种数据的组合,是一种容器,我们可以用来盛放我们的数据,      数组的定义有 int[]数组名 = new int[元素个数];这种定义方式叫做动态定义,还有种静态定义为,int[]数组名称={元素值};
      数组定义可以先指定长度, int[]数组名 = new int[元素个数];但是此种只要一指定就不能更改长度,也可以先不指定长度我们直接写元素值由系统自动算出数组的长度,格        式为:int[]数组名称={元素值};  其中[]放在数组名称前和后无影响,但是按照习惯都是在数组名称之前。

2.什么时候使用动态赋值?什么时候使用静态赋值?
  答:动态赋值为我们不知道要赋什么值,但是知道有多少个数据的情况,静态赋值为不知道具体元素的个数的时候使用由系统自动算出长度。

3.堆中存放的是什么?栈中存放的是什么?
答:栈中放的我们的数据类型和变量名,堆中放的我们new出来的地址值,之后把堆中的地址值赋值给栈里面的变量,栈中的变量就可以值向堆中的数据。
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:数组的索引是从0-数组.length-1;数组越界异常为我们访问了不存在的索引,空指针异常为,数组在内存中栈中指向堆中的地址值断掉了就无法访问了,堆中的数据将会被java虚拟机当做垃圾回收。
5.参数为基本数据类型的时候,传递的是什么?参数为引用数据类型的时候,传递的是什么?

   答:参数为基本数据类型的时候传递的是变量本身的值,参数为引用数据类型的时候传递的是 地址值。

                                                                               梁超
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马