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.什么是数组?数组的定义有哪几种格式?
答:数组是用于存放多个同数据类型的数据,
        定义格式:int[] arr;、int arr[];
2.什么时候使用动态赋值?什么时候使用静态赋值?
答:动态赋值:知道数组的长度而不知道数组元素值时使用
        静态赋值:确定数组元素值时使用
3.堆中存放的是什么?栈中存放的是什么?
答:堆中存放的是new出来的对象
        栈中存放的是执行方法
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:数组越界异常是由于使用的索引值超出了数组的最大索引值;
数组空指针异常是由于引用数据类型为null的时候,并使用该变量访问元素或调用方法时所产生的异常。
回复 使用道具 举报

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

数组:用于储存大量数据类型的容器,运行期间长度不可改变
两种定义格式:1.数据类型[] 数组名   2.数据类型 数组名[]


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

当不知道具体元素是可用动态赋值
知道具体元素可用静态赋值

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

堆:所有new的东西在堆中获取内存空间,生成对应地址
栈:方法执行进栈执行,执行结束出栈

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

数组越界异常:arr[索引值],其中索引值超过了最大索引值(长度-1)
空指针异常:当引用数据类型类型为null时,且需要调用或访问该元素时,会发生空指针异常
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
答:数组是一种用于存储多个相同类型数据的存储模型,在运行期间长度不可改变。
       数组的定义有两种格式:格式一:数据类型[ ]   变量名       |  int[ ]  arr
                                              格式二:数据类型       变量名[ ]   |   int   arr[ ]                    

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

3.堆中存放的是什么?栈中存放的是什么?
答:堆中存放的是:所有new出来的内容(实体,对象),当空间没有被任何变量引用的时候,会在垃圾回收器空闲时被回收;
       栈中存放的是:局部变量,使用完毕,立即消失。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:数组越界异常是因为:访问了数组中不存在的索引对应元素,造成索引越界问题;
       数组空指针异常是因为:访问的数组已经不再指向堆内存的数据,使用该变量访问元素、调用方法...都会造成空指针异常。
回复 使用道具 举报

1.什么是数组?数组的定义有哪几种格式?
java中的一种容器,存储的是同一种数据类型
动态初始化和静态初始化两种格式。

2.什么时候使用动态赋值?什么时候使用静态赋值?
在不知道数组中元素内容的情况下使用动态赋值。
在知道数组中元素内容的情况下使用静态赋值。

3.堆中存放的是什么?栈中存放的是什么?
       所有new出来的东西都在堆中,在堆中开出一块空间,空间等地址值会交给栈内变量引用,当没有任何变量引用改地址的时候,这块内存空间就会被垃圾回收器回收。
      方法执行是在栈中执行方法进栈,执行完毕出栈,栈内存中有变量引用堆内存中的地址值,当栈内存中main方法出栈,没有任何变量执行堆内存中的地址值。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
当访问的数组索引值超过了最大索引值的时候,会发生索引越界异常。
当为引用数据类型的变量赋值为null的时候,会发生空指针异常
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
是Java中的容器,能存储多个数据,但要保证数据段类型一致,在运行期间内长度不能改变
分两种格式1.int[]arr  2.int arr[]
2.什么时候使用动态赋值?什么时候使用静态赋值?
当不知道数组内容的时候用用动态数值,知道数组内容的时候用静态赋值


3.堆中存放的是什么?栈中存放的是什么?
在new出来东西都在堆内存开辟空间,对外提供地址值,当没有被任何变量引用的是时候,垃圾回收器将该空间当做垃圾处理

方法执行需要进栈,方法变量执行的内堆存中的地址值,方法执行完毕出栈


4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组越界是输出了定义中没有数组

当应用数据类型的值是null的时候,且该变量访问元素,调用方法都会发空指针异常
回复 使用道具 举报
今天需要掌握的知识点有:

1.什么是数组?数组的定义有哪几种格式?
        答:能够储存多个相同数据类型常量的容器。三种:1.动态初始化  数据类型[] 数组名=new 数据类型[数组长度];2.静态初始化   数据类型[] 数组名=new 数据类型[]{元素1,元素2,...,元素n};3.静态初始化省略版:数据类型[] 数组名={元素1,元素2,...,元素n};

2.什么时候使用动态赋值?什么时候使用静态赋值?
        答:数组元素不确定时使用动态初始化,数组元素确定时使用静态初始化。

3.堆中存放的是什么?栈中存放的是什么?
        答:栈内存中存放方法和局部变量,堆内存中存放通过new创建的数组和对象等。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
        答:访问数组元素时使用的索引超过数组的索引范围就会出现数组越界异常。当数组指针没有指向栈内存中储存元素位置的地址后,访问该数组的元素就会出现空指针错误。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
答:是一种用于储存多个相同类型数据的储存模型
2.什么时候使用动态赋值?什么时候使用静态赋值?
答:未知数组中的元素适合用动态赋值,已知数组中的元素适合静态赋值。
3.堆中存放的是什么?栈中存放的是什么?
答:堆里存放的new出来内容(实体、对象),栈中存放的是定义的变量和地址。
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:访问了超出数组索引范围对应的元素,则出现数据索引越界异常;基本数据类型赋值了null就会产生空指针异常。
回复 使用道具 举报

1.什么是数组?数组的定义有哪几种格式?
数组是多个相同数据类型存储在一块堆区内存的名称,
1. int[] arr = new int[5];
2. int arr[] =new int[5];

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

3.堆中存放的是什么?栈中存放的是什么?
堆区存放的时new关键词创建出来的内存区域
栈区是 方法运行时进栈区,方法结束时清除

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组的长度是固定的,如果超出数组长度的操作 就会产生数组越界,
空指针异常是 把一个数组指向堆区的指针给切断会产生指针异常,
引用数据类型 如果没有赋值默认值是null 如果用他进行操作,如调用函数也会出现空指针异常。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
解:数组是存储多个相同类型数据,长度固定的容器。
      数组的定义格式:类型[] 数组名或者类型 数组名[]

2.什么时候使用动态赋值?什么时候使用静态赋值?
解:有长度没有数组元素确定用动态赋值,没有长度但有数组元素时用静态赋值。

3.堆中存放的是什么?栈中存放的是什么?
解:栈中存放的是存在方法中的变量,堆中存放的是new的对象。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
解:当索引超出数组长度范围时,就会产生索引超出边界异常。
      数组为空,不再指向堆中的地址值,或者String类型数组元素默认为空一旦调用,就会产生空指针异常。
回复 使用道具 举报
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)时,且使用该变量进行元素访问或者调用方法时,就会出现空指针异常。
回复 使用道具 举报
1.数组是存储数据长度固定的容器,容器内数据的数据类型一致。
int[] arr或者 int arr[]
2.不确定数组内容的时候使用动态赋值,确定数组数据内容的时候使用静态赋值。
3.堆中存放的是new创建的对象,栈中存放的是方法。
4.数组的索引>=数组.length的时候会发生数组越界异常。
数组空指针异常指数组指向null,数组在堆内存中找不到地址,操作不了数组。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
(1)数组是java中的一种容器,存储的是同一种数据类型。
(2)数组的定义一共有两种格式:
     动态初始化、静态初始化

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


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


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

指针异常。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
答:数组是一种用于存储多个相同类型数据的存储模型。
数组的定义有两种,第一种是:数据类型[] 数组名 这种方法比较常用,还有一种方法是:数据类型 数组名[] 这种
定义格式不常用。


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

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


4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:当索引超过数组的索引范围时,就会出现索引越界。
当一个引用类型赋值为null时,当我们使用该变量进行操作时,就会出现空指针异常。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
答:数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。
int[] arr 和int arr[] ;

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

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

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组越界异常是指数组的索引值超过数组的长度最大值时产生的现象;
数组空指针异常是指数组所保存的内存地址被赋予了空值产生的现象;
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
答:1.是一个用于存储相同类型数据的存储模型2. 静态初始化:1.数据[] 变量名 ={数组元素}; 2.数据类型[] 变量名 = new 数据类型[]{数组元素};  动态初始化:数据类型[] 变量名 = new 数据类型[数组长度];
2.什么时候使用动态赋值?什么时候使用静态赋值?
答:1.不知道到数组元素时,使用动态赋值。2.知道数组元素时使用静态赋值。
3.堆中存放的是什么?栈中存放的是什么?
答:1.堆是存储数组元素。2.栈是存储变量名和元素地址。
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:1.超出数组长度。2.null 如果赋值给基本数据类型就会产生指数组空指针异常。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马