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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

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

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

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

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

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

31 个回复

正序浏览
本帖最后由 赖鸿伟 于 2019-5-30 21:42 编辑

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

        数组就像一个收纳盒,只用于收纳同一类型的数据;
        数组的定义有哪两种格式,如: int[ ] a ; 和 int a[ ] ;

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

        在知道数组长度而不知道数组元素的情况下使用动态赋值;
        在知道数组长度而知道数组元素的情况下使用静态赋值;

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

        堆中存放的是所有new的对象;
        栈中存放的是变量。

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

        数组越界异常是因为使用了比数组最大索引值的大的索引值;
        数组空指针异常是因为数组赋值为null 并使用了这个数组。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
数组是java中的一种容器,存储的是同一种类型
数组的定义格式
1 数据类型[ ]变量名  eg: int[ ] arr
2 数据类型 变量名[ ]  eg: int arr [ ]

2.什么时候使用动态赋值?什么时候使用静态赋值?
1.不知道元素内容的时候用动态赋值
创建一数组,并指定长度,系统会分配默认值给每个元素
2.知道元素内容的时候用静态赋值

3.堆中存放的是什么?栈中存放的是什么?
1.栈:
存储局部变量
方法执行是在栈中执行
方法执行进栈,执行完毕出栈
2.堆:所有new出来的东西都在堆中
在堆中开辟一块内存,里面的地址值会交给栈内存中的变量引用
当没有任何变量引用该地址时,就会被垃圾回收器回收

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
索引越界:当访问的数组的索引值超过最大索引值的时候
数组空指针异常:当引用数据类型的值是null的时候,且使用该变量去访问元素、调用方法,都会发生空指针异常
回复 使用道具 举报

1.什么是数组?数组的定义有哪几种格式?
答:数组就时用来存储数据的容器,存储数据的长度一定,且储存的数据类型要一致。
    有两种格式:1.int [] arr;
                2.int arr [];

2.什么时候使用动态赋值?什么时候使用静态赋值?
答:数组的动态赋值是指只给定了数组的长度,但是并未对数组赋值,初始化值由系统默    认给出。
    数组的静态赋值是指在创建数组的同时,直接定义了数组的长度及元素。
    当我们不确定数组元素是使用动态赋值,当我们需要确定数组的元素是使用静态赋值。

3.堆中存放的是什么?栈中存放的是什么?
答:堆内存中存放的是:对象或数组,用new来创建空间的都存放于堆内存中。
    栈内存中存放的是:运行时的方法内存。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:越界异常的产生:当我们索引的范围超出数组的长度时会出现越界异常。
    空指针异常的产生:当我们将null赋值给数组时,arr将不再保存数组的内存地址,                      也就不能再对数组进行操作时,就会出现空指针异常。
   
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
  数组是存储多个同一数据类型数据的容器,数组的长度是定长的,在定义的时候必须指定长度,
  长度一旦确定,在运行期间不可改变
  定义的格式2种:【1】数据类型[] 数组名  例如:int[] arr
                 【2】数据类型 数组名[] 例如:int arr[]
  

2.什么时候使用动态赋值?什么时候使用静态赋值?
  数组的初始化有2种:
  动态赋值:只指定数组长度,由系统分配默认值,用于不知道数组元素内容的情况下创建
            定义可以拆分,先定义再赋值
  静态赋值:在创建的时候指定数组中元素的内容,用于知道数组中元素内容的情况下创建
            标准格式数组定义可以拆分,先定义再赋值;
            省略格式不能实现定义的拆分,必须定义和赋值一起写

3.堆中存放的是什么?栈中存放的是什么?
  堆中存放的是数组或者对象,new出来的都存储在堆内存中;
  栈内存存放基本数据类型的变量数据和对象的引用但对象本身不存放在栈中,而是存放在
  堆(new出来的对象)或者常量池(字符串常量对象存放在常量池中)  


4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
  数组越界异常是当我们访问的数组的索引值超过了该数组的最大索引值的时候产生  
  数组空指针异常是一个引用数组类型的值为null的时候,当我们使用该变量去操作的时候,发生空指针异常
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
能够存放多个相同数据类型的数据的容器
数组的定义有两种格式:
数据类型[ ]   数组名   如:int[ ]  arr
数据类型   数组名[ ]   如:int  arr[ ]

2.什么时候使用动态赋值?什么时候使用静态赋值?
动态赋值是在只知道数组长度时使用。
静态赋值是在知道数组内容时使用。

3.堆中存放的是什么?栈中存放的是什么?
堆中存放的是new创建出来的对象或数组。
栈中存放的是运行方法和变量。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组越界异常的产生是在数组的索引值大于数组最大长度或小于0时出现。
数组空指针异常的产生是在数组所保存的内存地址被赋予了空值时出现。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
①数组就是存储多个相同数据类型,并且长度固定的容器。
②定义格式有两种:
数据类型[] 数组名
数据类型 数组名[]


2.什么时候使用动态赋值?什么时候使用静态赋值?
①数组初始化时只给定数组的长度,由系统给出默认初始化值,使用动态赋值。
②数组初始化时,直接将数组元素确定,使用静态赋值。
       

3.堆中存放的是什么?栈中存放的是什么?
①堆内存:所有new 出来的实体(内容,对象),例如数组;向内存申请开辟空间,
对外提供地址值,当空间没有被任何变量引用的时候,垃圾回收器将该空间作为垃圾清理
②栈内存:用于存储局部变量,由方法定义出来的变量,例如main方法,执行完会立刻消失。方法中的变量执行的是堆内存中的地址值,方法执行开始进栈,完毕出栈。



4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
①当访问的数组索引值超过了最大索引值的时候,会发生索引越界异常
②当为引用数据类型的变量赋值为null的时候,会发生空指针异常。
回复 使用道具 举报
今天我们学习了数组,请根据自己的理解对下列问题进行回答:

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

1.什么是数组?数组的定义有哪几种格式?
1}【一次性存储大量的用于存储数据的变量存储多个相同类型的数据】
2}【两种格式:一种是 int[] arr = int[]{1,2,3}  还有int[] arr ={1,2,3};【int[ ] arr;】【int arr[ ];】 】

2.什么时候使用动态赋值?什么时候使用静态赋值?
1}【动态初始化多用于不知道数组中元素内容的情况下创建的】
2}【静态初始化用于知道数组中元素内容的情况下创建的】
3.堆中存放的是什么?栈中存放的是什么?
1.}【所有new 出来的东西都在堆内存开辟空间,对外提供地址值,当空间没有被任何变量引用的时候,垃圾回收器将该空间作为垃圾清理】
2.}【方法执行需要进栈,方法中的变量执行的是堆内存中的地址值,方法执行完毕出栈】

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
.}【超过他本身的值  就是arr.leigth - 1  就是索引值超过了数组最大的索引值的时候】
2.}【当引用数据类型的值是null的时候,且使用该变量访问元素,调用方法,都会发生空指针异常。】
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
数组是用于存储相同数据类型数据的一种固定长度的容器。

2.什么时候使用动态赋值?什么时候使用静态赋值?
动态赋值主要用于数组内容未确定时使用,静态赋值用于已经得到数组里的内容时使用。

3.堆中存放的是什么?栈中存放的是什么?
堆中存放的是new创建的一些数据如存储对象或者数组,栈中存放的是方法运行时使用的内存如main方法。

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

数组越界异常是因为索引数组时超出了索引的范围,如数组长度为3,索引范围为0,1,2,当超过这个范围就会出现数组越界异常。
数组空指针异常是由于数组的内存地址与数组名之间的关系断开了,通过数组名无法找到内存地址,当数组名输出为null时就会出现空指针异常。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
数组是java中的容器,能存储多个数据,但是必须保证数据类型一致,在运行期间长度不可改变
有两种格式,具体如下:
a 数据类型[] 数组名 例:int[ ] arr
b 数据类型 数组名[] 例:int arr[]
2.什么时候使用动态赋值?什么时候使用静态赋值?
当不知道数组内容的时候,使用动态初始化,当知道数组内容的时候使用静态初始化
3.堆中存放的是什么?栈中存放的是什么?
堆:所有new 出来的东西都在堆内存开辟空间,对外提供地址值,当空间没有被任何变量引用的时候,垃圾回收器将该空间作为垃圾清理
栈:方法执行需要进栈,方法中的变量指示的是堆内存中的地址值,方法执行完毕出栈
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组索引越界异常:当使用的索引值超过了数组最大的索引值的时候
空指针异常:当引用数据类型的值是null的时候,且使用该变量访问元素、调用方法...都会发生空指针异常
回复 使用道具 举报
今天我们学习了数组,请根据自己的理解对下列问题进行回答:

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

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

数组是用来储存数据长度的数据类型要一致。
数组格式有2种,
动态:数据类型名[] 数组名 = new 数据类型[数组长度];
静态:数据类型[] 数组名 = new 数据类型[]{元素值1,元素值2,....};
数据类型[] 数组名 = {元素值1,元素值2,....};

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

当只给出数组的长度,由系统给出默认的初始化值的时候使用动态赋值;当在创建数组时,直接给出元

素值的时候使用静态赋值;

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

堆中存放的是new创建的存储对象或者数组;栈中存放的是方法运行时使用的内存;

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

程序运行后输出的值不在赋值范围内的会造成越界异常;栈内存中数组的引用没有指向堆内存地址,指

引中断;
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?

数组是用来储存数据长度的数据类型要一致。数组格式有2种,1.数据类型名[] 数组名 = new 数据类型;2数据类型 数组名[];

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

当只给出数组的长度,由系统给出默认的初始化值的时候使用动态赋值;当在创建数组时,直接给出元素值的时候使用静态赋值;

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

堆中存放的是new创建的存储对象或者数组;栈中可以存放局部变量,方法执行需要进栈。

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

访问数组的索引超过数组索引的最大值;栈内存中数组的引用没有指向堆内存地址,指引中断;
回复 使用道具 举报
今天我们学习了数组,请根据自己的理解对下列问题进行回答:

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

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

数组是一个数据长度固定的容器,存放的数据的数据类型要求一致。
数组的定义有:

(1)动态初始化 ,由系统分配默认值。
定义格式:数据类型[]  数组名 = new 数据类型[数组长度];
或者 数据类型 数组名[] =new 数据类型[数组长度];
通常使用第一种,更容易理解。
(可以先定义,后赋值。如:int[] a; a = new int[3];)

(2)静态初始化,即创建数组时就指定好数组元素中的内容。
定义格式:数据类型[] 数组名 = new 数据类型[]{元素1的值,元素2的值,...}  或者省略格式:数据类型[] 数组名 ={元素1的值,元素2的值,...}
(省略格式的写法不可以先定义,后赋值)


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

不知道数组元素内容时使用动态赋值;
知道数组元素内容时使用静态赋值。


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

堆中存放的是程序运行时new出来的对象或数组,对外提供地址值,当栈中没有变量指向堆内存的地址值时,一段时间后由垃圾回收处理器回收。

栈中存放的是方法和局部变量,方法执行进栈,执行完毕出栈,方法中的引用类型变量执行的是堆内存中的地址值,当栈内存中main方法出栈后,没有任何变量指向堆内存中的地址值。


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

数组越界是因为访问了不存在的数组索引,解决方法是访问是正确的数组索引。
数组空指针异常是因为把空地址值赋给了数组引用,导致访问数组时出现空指针异常,解决方法是给数组引用正确的堆内存空间。


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

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

1.什么是数组?数组的定义有哪几种格式?
答:数组是定义的一种可以批次处理同类型数据的容器,方便对繁复的数据进行处理。数组的定义有两种情况三种格式,
格式一,int [] arr = new int[长度] ;
格式二,int [] arr = new int[]{数组元素};
格式三,int [] arr = {数组元素列表}

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

3.堆中存放的是什么?栈中存放的是什么?
答:堆中存放的是new建立的内存块,如引用类型的对象,而栈中存放的是执行的方法和需要获取的数据的容器如变量数组等。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:当访问了超过了数组长度的(不存在的)元素时,就会产生越界异常。当数组中存放的地址值,被清空了后,则无法
访问到栈中之前指向的内存块,此时就会产生空指针异常。实际中多数是在默认初化数组后,在使用数组时进行赋值不完全产生的遗漏
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
数组就是用来存储多个相同数据类型的数据的容器。
有两种:(1)数据类型[] 数组名,如:int [] arr;(2)数据类型 数组名[],如int arr[]。
2.什么时候使用动态赋值?什么时候使用静态赋值?
当不清楚元素,确定数组长度的时候使用动态赋值;
当确定元素使用静态赋值。
3.堆中存放的是什么?栈中存放的是什么?
堆:所有new出来的东西都在堆内存开辟空间,对外提供地址值,当空间没有被任何变量引用的时候,垃圾回收器将该空间作为垃圾清理;
栈:方法执行需要进栈,方法中的变量执行的时堆内存中的地址值,方法执行完毕出栈。
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
越界异常:比如数组长度为3,索引范围是0-2,但却访问了一个3的索引,运行后就会数组越界异常;
解决方法:将索引改成正确范围内的索引就可以了。
空指针异常:当出现将null赋值给数组时,意味着变量将不会再保存数组的内存地址,也就不能再操作数组,运行时就会出现空指针异常;
解决方法:给数组一个真正的堆内存空间引用就可以了。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
答:数组是一种储存数据且长度固定的一种容器。多个数据的类型要一致。
数组的定义格式有两种:1. 数据类型[] 数组名; 2.数据类型 数组名[];

2.什么时候使用动态赋值?什么时候使用静态赋值?
答:知道数组长度的时候使用动态赋值,知道数组中的元素的时候使用静态赋值。

3.堆中存放的是什么?栈中存放的是什么?
答:堆中存放的是new创建的数组和对象;栈中存放的是方法,运行方法时存入栈,运行结束后移出栈。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:越界异常产生的原因是使用的索引值超出了数组的索引范围的时候。
空指针异常产生的原因是访问的数组不再指向堆内存中的数据。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?

答:数组是Java中存储数据长度的容器,数据的数据类型要一致。
数组的定义格式有两种,一种为int[] arr;一种为int arr[],通常我们使用第一种。

2.什么时候使用动态赋值?什么时候使用静态赋值?
答:通常在没有具体的数据元素时使用动态赋值,表示数据的长度。
在有具体的数据元素时使用静态赋值。

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

答:堆中存放的是new创建的数据或对象。
栈中存放的是方法,但只执行方法的入栈到出栈的过程,不会保存很久。

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

答:数组越界异常是所输入的索引大于数组的长度。
数组空指针异常是把null赋值给了数组,导致变量不会在保存数组的内存地址。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
答:1.是一个用于存储相同类型数据的存储模型2. 静态初始化:1.数据[] 变量名 ={数组元素}; 2.数据类型[] 变量名 = new 数据类型[]{数组元素};  动态初始化:数据类型[] 变量名 = new 数据类型[数组长度];
2.什么时候使用动态赋值?什么时候使用静态赋值?
答:1.不知道到数组元素时,使用动态赋值。2.知道数组元素时使用静态赋值。
3.堆中存放的是什么?栈中存放的是什么?
答:1.堆是存储数组元素。2.栈是存储变量名和元素地址。
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:1.超出数组长度。2.null 如果赋值给基本数据类型就会产生指数组空指针异常。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
答:数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。
int[] arr 和int arr[] ;

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

3.堆中存放的是什么?栈中存放的是什么?
堆中存放的是new产生的对象或数组;
栈存放的是方法和new产生的索引值对应元素值;

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组越界异常是指数组的索引值超过数组的长度最大值时产生的现象;
数组空指针异常是指数组所保存的内存地址被赋予了空值产生的现象;
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
答:数组是一种用于存储多个相同类型数据的存储模型。
数组的定义有两种,第一种是:数据类型[] 数组名 这种方法比较常用,还有一种方法是:数据类型 数组名[] 这种
定义格式不常用。


2.什么时候使用动态赋值?什么时候使用静态赋值?
答:当不知道数组的元素值是,一般用动态赋值,知道数组的元素值时,用静态赋值。

3.堆中存放的是什么?栈中存放的是什么?
答:堆内存存放的是方法和变量,一般用过之后就会消失,栈内存存储new出来的实体或者对象。


4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:当索引超过数组的索引范围时,就会出现索引越界。
当一个引用类型赋值为null时,当我们使用该变量进行操作时,就会出现空指针异常。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
(1)数组是java中的一种容器,存储的是同一种数据类型。
(2)数组的定义一共有两种格式:
     动态初始化、静态初始化

2.什么时候使用动态赋值?什么时候使用静态赋值?
(1)动态初始化多用于 不知道数组中元素内容的情况下创建的。
(2)静态初始化用于知道数组中元素内容的情况下创建的。


3.堆中存放的是什么?栈中存放的是什么?
(1)所有new出来的东西都在堆内存开辟空间,对外提供地址值。
(2)方法执行需要进栈,方法中的变量执行的是堆内存中的地址值,方法执行完毕出栈。


4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
(1)当引用的索引值超过了数组最大的索引值的时候。
(2)当引用数据类型的值是null的时候,且使用该变量访问元素,调用方法,都会发生空

指针异常。
回复 使用道具 举报
1.数组是存储数据长度固定的容器,容器内数据的数据类型一致。
int[] arr或者 int arr[]
2.不确定数组内容的时候使用动态赋值,确定数组数据内容的时候使用静态赋值。
3.堆中存放的是new创建的对象,栈中存放的是方法。
4.数组的索引>=数组.length的时候会发生数组越界异常。
数组空指针异常指数组指向null,数组在堆内存中找不到地址,操作不了数组。
回复 使用道具 举报
1.数组是一个固定长度的容器,用于存储同一种数据类型的数据。int[] arr; int arr[];
动态初始化:int[] arr = new int[4];
静态初始化:int[] arr = {1,2,3}; | int[] arr =new int[]{1,2,3};

2.当知道数组元素个数时使用静态赋值,当不知道数组元素个数时使用动态赋值

3.堆中存放所有new出来的东西,栈中存放方法和变量,方法开始时进栈,方法结束时出栈。

4.当访问的数组索引超出数组的界限时会发生数组越界异常
当引用的数据类型的值为空(null)时,且使用该变量进行元素访问或者调用方法时,就会出现空指针异常。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马