黑马程序员技术交流社区

标题: 【厦门JavaEE基础11期——每日总结】IDEA工具数组 [打印本页]

作者: 厦门校区    时间: 2019-9-15 16:30
标题: 【厦门JavaEE基础11期——每日总结】IDEA工具数组
今天我们学习了数组,请根据自己的理解对下列问题进行回答:
今天需要掌握的知识点有:
1.什么是数组?数组的定义有哪几种格式?
2.什么时候使用动态赋值?什么时候使用静态赋值?
3.堆中存放的是什么?栈中存放的是什么?
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
作者: 方震潮    时间: 2019-9-15 19:14
1.数组是java提供的一种容器,要求数组元素类型一致,长度固定不变
数组类型[] 变量名
数组类型 变量名[]

2.不知道数组各个数的值就用动态,知道就用静态

3.new出来的都存在堆中,栈中存放着方法

4.赋值错误就会出现null
作者: 肖凌晨    时间: 2019-9-15 19:18
1.什么是数组?数组的定义有哪几种格式?
数组是Java提供的一种容器,要求数组元素类型一致,长度固定不可变
数据类型[] 变量名;
数据类型 变量名[];

2.什么时候使用动态赋值?什么时候使用静态赋值?
当不明确所有元素的值时用动态赋值,当明确所有元素的值时用静态赋值。

3.堆中存放的是什么?栈中存放的是什么?
堆中存放的是引用类型对象,栈中存放变量和方法

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组越界是当访问了数组范围以外的索引时产生的,
数组空指针是访问了地址为null的对象时产生的。
作者: 郑嘉伟    时间: 2019-9-15 19:20
1.什么是数组?数组的定义有哪几种格式?
        储存多个类型相同变量的容器。

        静态初始化:        数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...};
                        数据类型[] 数组名 = {元素1,元素2,...};

        动态初始化:        数据类型[] 数组名 = new 数据类型[数组长度];

2.什么时候使用动态赋值?什么时候使用静态赋值?
        不明确数组内容时使用动态初始化。
        明确数组内容时使用静态初始化

3.堆中存放的是什么?栈中存放的是什么?4
        栈:存储对象或者数组,new来创建的,都存储在堆内存。
        堆:方法运行时使用的内存,比如main方法运行,进入方法栈中执行。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
        数组越界异常:访问超出索引范围。
        数组空指针异常:存储数组首地址的变量为NULL会产生空指针。

作者: 戴玉彬    时间: 2019-9-15 19:24
今天我们学习了数组,请根据自己的理解对下列问题进行回答:

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

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

答:数组是java中存储大量数据的容器,存储的数据类型要固定。分为 {数据类型[] 数组名}(int[] arr;)和{数据类型 数组名[]}(int arr[];)两种定义格式,一般用第一种。

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

答:不知道数组内具体元素的时候用动态赋值,知道具体元素时使用静态赋值。

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

答:堆中存放的时对象或者数组,由new创建的都存放在堆中。栈中存放的是Java程序运行时的内存,比如说main方法运行时就是存放在栈中。

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

答:出现了超过数组索引范围的索引,所以会出现数组越界异常。因为赋值失败等原因把 null 作为了一个数组的堆内存地址,就会出现数组空指针异常。

作者: 第六    时间: 2019-9-15 19:25
1.什么是数组?数组的定义有哪几种格式?
同一类型的元素放置在一个容器中;格式:1.类型[] 数组名 = new 类型[数组长度];
                                2.类型[] 数组名 = new 类型[]{元素};
                                3.类型[] 数组名 = {元素};

2.什么时候使用动态赋值?什么时候使用静态赋值?
对于已知元素的数组用静态赋值。对于不能确定数组元素值的时候用动态赋值。

3.堆中存放的是什么?栈中存放的是什么?
堆中存放对象实例。栈中存放方法变量,执行完就将被释放。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
引用的索引值超过了数组的长度,通常不是索引值写错就是数组名写错造成。
变量赋值失败产生的空值null;或者引用数据类型变量的初始默认值为null,没有对其赋值。
对null进行输出操作就会产生空指针异常。

作者: 沈华仁    时间: 2019-9-15 19:26
1.数组就是相同类型的数据的一种集合方式,数组的定义有三种格式
类型[] 变量名 = new 类型 [数组长度];
类型[] 变量名 = new 类型[]{一个值,两个值...}
类型[] 变量名 = {一个值,两个值...};

2.当一开始并不知道数组中属性的具体值时使用动态赋值,一开始知道可以使用静态赋值。

3.堆中存放的是new出来的数据,栈中存放的是方法和变量名。

4.数组越界异常是访问了超出数组索引范围的数据产生的,数组空指针异常是在数组中元素引用为空时调用了相应的方法产生的。
作者: 苏海文    时间: 2019-9-15 19:38
1.什么是数组?数组的定义有哪几种格式?
数组是同一类型的整合
1)int[] arr={};
2)int[] arr= new int[]{};
3)int[] arr= new int[6];

2.什么时候使用动态赋值?什么时候使用静态赋值?
当知道初始值是使用静态赋值
当不知道初始值是使用动态赋值

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

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
当访问的索引值超出数组最大索引值时就会出现越界
当数组引用为空,调用了其方法则会产生空指针异常
作者: 洪涛.    时间: 2019-9-15 19:46
1.数组就是相同类型的数据存放在一起的方式。有三种,①动态定义: 类型[] arr = new 类型[数组长度];
②静态定义:类型[] arr = new 类型[]{};
③第二种静态定义:类型[] arr = {};
2.在不确定有多少数据或者要在定义数组之后才能添加数据的时候用动态,在确定数据时使用静态。
3.堆中存放的是new出来的数据,栈中存放的是方法和变量名。
4.数组越界异常是访问了超出数组本身的索引值就会产生。
数组空指针异常是在数组元素引用为空时。
作者: 廖曙光    时间: 2019-9-15 19:50
1.什么是数组?数组的定义有哪几种格式?

        数组是一种数据结构,用来储存同一类型值的集合;
        格式:1.动态:数据类型[] arr = new 数据类型[数量-1];  2.静态:数据类型[] arr =new 数据类型[]{}{a,b,c,d.....};或数据类型[] arr = {a,b,c,d.....};

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

        当定义数组的时候,不知道元素内容,使用动态初始化;
              定义的时候,知道元素的内容,直接使用静态初始化;

3.堆中存放的是什么?栈中存放的是什么?
        堆:所有有new创建的对象和数组;
        栈:函数中定义的一些基本类型和对象的引用变量(方法执行都需要经过栈)。
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
        1.索引越界
        原因:访问数组的索引值超过了数组最大的索引值
        解决:在访问的时候控制索引在最大索引范围之内
        2.空指针
        原因:引用数据类型的值为null,没有指向任何空间
        解决:让引用数据类型指向一块具体的空间,而不是null

作者: 邓菡晨    时间: 2019-9-15 20:06

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

2.什么时候使用动态赋值?什么时候使用静态赋值?
当定义数组是,不知道元素内容,使用动态初始化;     
当知道元素内容的,则使用静态初始化.

3.堆中存放的是什么?栈中存放的是什么?
堆中存放new出来的内容,使用结束后会消失
栈中存放的是局部变量、方法,使用完后会消失

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组越界异常就是访问了数组中不存在的索引对应的元素,造成索引越界问题
数组空指针就是访问的数组已经不再指向堆内存的数据,造成空指针异常
作者: 庄泽林    时间: 2019-9-15 20:07
1.什么是数组?数组的定义有哪几种格式?
数组是有多个相同数据类型的集合;
数组的定义有2种方式:①数据类型[] 数组名;②数据类型 数组名[];

2.什么时候使用动态赋值?什么时候使用静态赋值?
不清楚数组具体有哪些元素的时候用动态赋值;
清楚数组具体有哪些元素的时候用静态赋值。

3.堆中存放的是什么?栈中存放的是什么?
堆中存放的是new出来的空间,如 new出来的数组或者new出来的对象。
方法开始执行时进入栈中,执行时所定义的变量存放在栈中,方法执行结束后退出栈,方法中的变量也跟着退出栈内存。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组的索引值超过了数组的最大索引值;
引用数据的值为null,数组名存放的地址没有指向任何一处空间

作者: 刘建苹    时间: 2019-9-15 20:09
1.什么是数组?数组的定义有哪几种格式?
数组是Java中的一种容器,用于存储大量的数据,要求存入数组中的元素必须是同一类型,且数组的长度固定
数组定义格式:
1>数据类型[] 数组名;例如:int[] arr;
2>数据类型 数组名[];例如:String st[];

2.什么时候使用动态赋值?什么时候使用静态赋值?
1>当已知数组长度,不知数组内容时用动态赋值。
2>已知数组内容直接用静态赋值。

3.堆中存放的是什么?栈中存放的是什么?
1>堆中放的是所有new出来的东西,在内存中开辟一块空间供它使用。2>栈中存放的运行方法,程序运行都要入栈,结束后出栈。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
1>当用户访问数组的索引值超过了数组最大的索引值,就发生了数组越界,如:Int[] arr = new int[6]; 当用户检索arr[6]的时候就会发生数组越界,因为数组检索是从0开始检索的它的最大检索位为arr[5];
2>数组空指针是指数组变量被赋予null,而一般造成这一原因是因为赋值失败/忘记赋值 造成引用数据类型使用的是默认值null再用引用数据类型的使用导致的。
作者: 李仕炜    时间: 2019-9-15 20:20
1.什么是数组?数组的定义有哪几种格式?
数组是同一种数据类型数据的集合,并且这个集合大小是固定的。

数组的定义有两种格式:
数据类型[] 数组名;
数据类型 数组名[];

2.什么时候使用动态赋值?什么时候使用静态赋值?
当不能确定数组中的数据时,使用动态赋值。
当已经确定数组中的数据时,使用静态赋值。

动态初始化:
//定义时同时赋值
int[] arr = new int[5];

//先定义后赋值
int[] arr2;
arr2 = new int[5];

静态初始化
标准格式:
//定义时同时赋值
int[] arr = new int[]{1,2,3,4,5};

//先定义后赋值
int[] arr;
arr = new int[]{1,2,3,4,5};

省略格式:
//定义时同时赋值,不可先定义后赋值
int[] arr = {1,2,3,4,5};

3.堆中存放的是什么?栈中存放的是什么?
堆中存放的是为new出来的对象开辟的空间
栈中存放的是方法和变量

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组越界异常时因为访问超出数组索引值的范围

没有对引用数据类型的数组进行赋初值,因为引用数据类型的默认初始值为null,
没有指向任何空间,进行调用的话,就会出现数组空指针异常。
作者: 洪景山    时间: 2019-9-15 21:12
1.什么是数组?数组的定义有哪几种格式?

答:数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。
数组由两种定义:
(1)数据类型[] 数组名
(2)数据类型 数组名[]


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

答:当不知道数组的元素内容的时候用动态赋值,当知道数组的元素内容的时候用静态赋值。


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

答:堆中存放的是new创建的对象或数组
栈中存放的是方法、局部变量


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

答:1.当我们访问索引值超过最大索引值时,程序运行后,将会抛出ArrayIndexOutOfBoundsException 数组越界异常。

2.引用数据的值为null ,意味着变量arr将不会再保存数组的内存地址,也就不允许再操作数组了,因此运行的时候会抛出 NullPointerException 空指针异常。
作者: 纪志鹏    时间: 2019-9-15 21:21
1.什么是数组?数组的定义有哪几种格式?

  存储大量相同数据类型数据的容器。
  有两种的定义格式:第一种 数据类型[] 数组名 ;
                    第二种 数据类型  数组名[]

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

   当定义数组的时候,不知道元素内容,使用动态初始化,定义的时候,知道元素的内容,直接使用静态初始化


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

  堆中存放的是所有new出来的数据
  栈中存放的是方法中定义的变量

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

  越界异常是因为访问数组的索引值超过了数组最大的索引值,也就是超过了数组规定的长度。
  空指针异常是因为引用的数据类型的值是null,没有对应的栈空间数据,访问数组内的元素将返回空指针异常。


作者: 吴瑜鑫    时间: 2019-9-15 21:26
1.什么是数组?数组的定义有哪几种格式?
数组是java中的一种容器,要求存入数组中的元素必须是同一种数据类型,且数组的长度固定。
数组的定义格式有int[] arr和int arr[]。

2.什么时候使用动态赋值?什么时候使用静态赋值?
在定义数组时元素内容未知的情况下,使用动态赋值。在定义数组时元素内容已知的情况下,使用静态赋值。



3.堆中存放的是什么?栈中存放的是什么?
new创建的,存储对象或者数组,都存储在堆中。
方法中定义的变量保存在栈中,方法执行需要进栈,执行完毕后出栈。


4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组越界的原因是访问数组的索引值超过了数组最大的索引值。空指针异常的原因是引用数据类型的值为null,一般是赋值失败或者忘记赋值造成引用数据类型使用的是默认值null。

作者: 卢培航    时间: 2019-9-15 21:30
1.什么是数组?数组的定义有哪几种格式?
答:①数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致;
    ②数据类型[] 数组名; 数据类型 数组名[];

2.什么时候使用动态赋值?什么时候使用静态赋值?
答:在创建数组时,不知道数组的元素内容用动态赋值;
    在创建数组时,知道数组的元素内容用静态赋值;
   
3.堆中存放的是什么?栈中存放的是什么?
答:①所有new出来的对象或数组都在堆中;
    ②栈是方法运行时使用的内存,方法运行时进栈,方法结束时出栈.

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:①是访问的索引值超过了数组的最大索引值;
    ②是引用数据类型值为null时,没有指向任何内存区域.

作者: 姜林伟    时间: 2019-9-15 21:32
1.什么是数组?数组的定义有哪几种格式?
数组就是java的一个用于储存数据的容器,
1)int[] arr={};
2)int[] arr= new int[]{};
3)int[] arr= new int[6];

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

3.堆中存放的是什么?栈中存放的是什么?
new的开辟的空间  栈是方法和变量

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
索引值大于等于数组长度    没有对引用数据类型的数组进行赋初值,引用数据类型的默认初始值为null,
没有指向任何空间
作者: 艺军    时间: 2019-9-15 21:36
1.什么是数组?数组的定义有哪几种格式?
  答:数组是java中的一种容器,用于存储多个数据,数组中的数据类型一致。
有两种格式;  动态初始化:
  ①数据类型[]  数组名 = new 数据类型[数组长度];
  ②数据类型  数组名[] = new 数据类型[数组长度];
   静态初始化:
   ①数据类型[]  数组名 = new 数据类型[]{数据1,数据2,数据3,...};
   ②数据类型[]  数组名 = {数据1,数据2,数据3,...};

2.什么时候使用动态赋值?什么时候使用静态赋值?
   答:在只知道数据个数,不知道数据内容时采用动态赋值。
       在只知道数据个数个数据内容时,采用静态赋值。

3.堆中存放的是什么?栈中存放的是什么?
   答: 堆中存放的是new开辟出来的数据空间,
        栈中存放的是方法的执行,方法中的变量保存在栈内存中。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
  答:当数组内存的搜索值大于数组内存长度时,会造成数组越界异常。
      当数组的引用数据的值为null造成数组空指针异常。          

作者: 徐梁云    时间: 2019-9-15 21:43
1.什么是数组?数组的定义有哪几种格式?

  答;1、数组在电脑编程中被认为是Java里面的一个容器。

      2、数组的定义有两种 一种是:数据类型[] arr;
                           一种是:数据类型 arr[];


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

  答:1、在不明确数据确切内容用动态赋值。
      
      2、在知道数组的确切内容用静态赋值。


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

  答:1、堆中存放的是new创建的一部分对象和数组。
      
      2、栈内存里面存储的是main方法或者其他方法运行时就放在栈内存中执行


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

  答:1、数组越界异常是输入的索引值超过了该数组索引值的最大值。

      2、数组空指针异常一般发生在引用数据类型中,引用数据类型的默认动态初始化格式为null
         如果在程序中 忘记给该引用数据类型赋个数值,或者赋值不成功,就会出现空指针异常。

作者: 蓝济鑫    时间: 2019-9-15 21:54

1、存储大量相同数据类型数据的容器。
     有两种的定义格式:数据类型[] 数组名 ;
                                数据类型  数组名[]
2、不知道元素内容用动态初始化
      知道元素内容用静态初始化
3、堆中存放的是new出来的空间
     栈中存放方法,方法执行需要进栈,方法执行完毕需要出栈
4、访问的索引值超过了数组的最大索引值
     引用数据类型,值是null
作者: 许逢淋    时间: 2019-9-15 21:58
1.什么是数组?数组的定义有哪几种格式?
数组:用于存储多个同种数据类型的"容器"
两种格式:数据类型[] 数组名
         数据类型 数组名[]
2.什么时候使用动态赋值?什么时候使用静态赋值?
动态赋值:不清楚数组元素的值时
静态赋值:清楚数组元素的值

3.堆中存放的是什么?栈中存放的是什么?
堆内存中放的是new出来的内容 它是一块空间用来存储地址且对外提供地址值
栈内存中放的是局部变量 使用完毕,便在内存中释放掉


4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组越界异常:访问了非数组索引对应的元素.造成索引越界问题
数组空指针异常:不小心把null赋值给数组 导致没有指向任何空间
作者: 黄智勇    时间: 2019-9-16 00:34
1.什么是数组?数组的定义有哪几种格式?

数组是一种容器,可以存放多个数据值。

动态初始化数组格式:数据类型[]数组名称 = new 数据类型[数组长度]
静态初始化数组格式:数据类型[]数组名称 = new 数据类型[]{元素1,元素2,...}

2.什么时候使用动态赋值?什么时候使用静态赋值?
动态初始化,创建的时候不赋值,使用默认值,随后动手赋值。
静态初始化,创建的时候直接赋值,随后也可以再次更改。
3.堆中存放的是什么?栈中存放的是什么?

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

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
.数组越界异常的产生:如果访问数组元素的时候,索引编号并不存在,那么将会发生数组索引跨界异常。

数组空指针异常的产生:数组必须进行new初始化才能使用其中的元素。如果只是赋值了一个null,没有进行new创建,那么将会发生空指针异常。
作者: 洪明选    时间: 2019-9-16 10:43
1.什么是数组?数组的定义有哪几种格式?
   数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致
   第一种  数据类型[] 数组名
   第二种  数据类型 数组名[]

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

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

堆: 存储对象或者数组,new来创建的,都存储在堆内存。
   
栈: 方法运行时使用的内存,比如main方法运行,进入方法栈中执行

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
  数组越界异常:访问的索引值超过了数组的最大索引值
  数组空指针异常:引用数据类型,值是null,没有指向任何内存区域




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2