黑马程序员技术交流社区

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

作者: 厦门校区    时间: 2019-8-4 17:20
标题: 【厦门JavaEE基础10期——每日总结】IDEA工具数组
今天我们学习了数组,请根据自己的理解对下列问题进行回答:
今天需要掌握的知识点有:
1.什么是数组?数组的定义有哪几种格式?
2.什么时候使用动态赋值?什么时候使用静态赋值?
3.堆中存放的是什么?栈中存放的是什么?
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?

作者: 林以聪    时间: 2019-8-4 19:33
1)什么是数组?数组的定义有哪几种格式?
  
  1.数组就是存储数据长度固定的容器,存储多个数组的数据类型要一致。
  2.数组定义格式分为两种:
    【1】数据类型[] 数组名    <-建议用第一种
    【2】数据类型 数组名[]

2)什么时候使用动态赋值?什么时候使用静态赋值?
  
  1.不能直接确定元素的用动态赋值。
  2.能直接确定元素的用静态赋值。

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

  1.堆中存放的是对象或者数组,用new来创建的都在堆中。
  2.栈中存放的是变量,用来指向堆内存里的地址值。

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

  1.索引越界异常:数组索引值>最大索引值
    解决方法:数组长度-1
  2.空指针异常:arr = null意味着变量arr将不会在保存数组的内存地址,也就
不允许再操作数组了,因此运行的时候会抛出空指针异常。
    解决方法:不给引用数据赋值null,给数组一个真正的堆内存空间引用。
作者: 张思钊    时间: 2019-8-4 20:13
1.数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。
一共有两种;
第一种:数据类型[] 数组名;
第二种:数据类型 数组名[]

2.我们一般都是在变量个数很多数不清的时候使用动态赋值比较简便;
   一般都是在变量个数不多且可以数的清的时候使用静态赋值。

3.栈中存放的是main(String[] args)
   堆中存放的是一个新的项目 new int[3].

4.定义了数组长度和索引范围之后,访问了一个超过索引范围的索引;程序运行之后,就会抛出ArraylndexOutOfBoundsException数组越界异常
在变量将不会保存数组的内存地址,也就不允许再操作数组了,接着就会抛出 NullPointerException 空指针异常。
作者: 刘建伟java10期    时间: 2019-8-4 20:36
1.什么是数组?数组的定义有哪几种格式?
        数组时java中一种能容纳多个相同类型的数据.承装多个数据的容器
        数组的定义方法有:int[] arr = new int[元素个数]
                         int[] arr = {直接定义元素}

2.什么时候使用动态赋值?什么时候使用静态赋值?
        动态初始化是先创建空间,随后再手动赋值,静态空间是在创建空间时同时赋值
        当创建时已知数组中包含的元素内容时可以使用静态初始化
        当创建时未知数组包含有哪些元素时可以使用动态初始化随后赋值

3.堆中存放的是什么?栈中存放的是什么?
        堆中存放的是new出来的一个空间,该空间可被指定位置的变量引用
        栈中存放的是以main方法进栈执行相关的语句。  

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
        数组越界异常主要是数组索引值超过该数组所能表达的最大索引值。
        数组空指针异常主要是把空字符null赋值给数组,数组无法指向任何空间,使用数组访问
        元素时,就会产生空指针

作者: 黄宏楷    时间: 2019-8-4 20:49

1.什么是数组?数组的定义有哪几种格式?
数组是java中的一种容器;
定义格式:(1)动态初始化:int [] arr = new int[];
                                                        Int  arr[] =new int[];
(2)静态初始化:标准格式:int [] arr = new int[]{1,2,3};
省略格式:int [] arr={1,2,3};

2.什么时候使用动态赋值?什么时候使用静态赋值?
动态赋值:在创建数组时,不指定内容,只指定长度,内容由稍后手动指定的时候使用动态赋值。
静态赋值:在创建数组时,就指定了数组内的内容。

3.堆中存放的是什么?栈中存放的是什么?
所有new出来的空间,都保存在堆中。
方法执行需要进栈,方法执行完毕需要出栈。
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组越界异常产生的原因是访问的索引值超过了最大索引值导致的。
数组空指针异常产生的原因是数组变量被赋值为null

作者: 陈智铭    时间: 2019-8-4 20:54

1.什么是数组?数组的定义有哪几种格式?
  数组是java中用来储存数据的容器;
  格式有2种:[1]int[] arr;    [2]int arr[];

2.什么时候使用动态赋值?什么时候使用静态赋值?
  动态赋值:int[] arr = new int[6]; 未知数组内元素时使用;
  静态赋值:int[] arr = new int[]{2,3,6};  已知数组内元素时使用;
  
3.堆中存放的是什么?栈中存放的是什么?
  堆也叫堆内存,存放的是新开辟(new出来)的数组(包含地址码,索引值,元素);用完等垃圾回收期空闲再回收消失;
  栈也叫栈内存,存放的是main方法,也就是我们编写再main方法下的代码;用完立马消失;
  
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
  数组越界异常产生:访问的值超过了索引值;避免方法是控制在索引值范围在0-最大索引值减一内;
  数组空指针异常产生:创建的变量赋值了null值;避免方法是不赋值null给数据;
作者: 林增龙    时间: 2019-8-4 20:58
今天我们学习了数组,请根据自己的理解对下列问题进行回答:

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

1.什么是数组?数组的定义有哪几种格式?
答:①:数组:是一种用于存储多个相同类型数据的存储模型
②有两种格式分别是:格式一:int [] arr;      格式二:int arr [];
       
  


2.什么时候使用动态赋值?什么时候使用静态赋值?
答:①:在创建数组时,不指定内容,只指定数组长度时候用动态赋值;

②在创建数组时,指定了数组中的内容时用静态赋值



3.堆中存放的是什么?栈中存放的是什么?
答:①堆中存放对象或者数组,new出来的都存放在堆中;

②栈中存放main方法的运行,arr地址值。



4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:①数组越界异常的产生:访问了数组中不存在的索引对应的元素造成索引越界的问题;

②数组空指针异常的产生:数组变量被赋值为null,运行时会抛出空指针异常。





作者: 沈椿贵    时间: 2019-8-4 20:58
1.什么是数组?数组的定义有哪几种格式?

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

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

(1)动态初始化用于数据未知
(2)静态初始化用于数据已知

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

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

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

(1)越界异常是我们访问了一个,超出数组范围的索引值而产生的。
(2)空指针异常是,因为数组变量被赋值为了null。

作者: Eish    时间: 2019-8-4 21:00
今天我们学习了数组,请根据自己的理解对下列问题进行回答:

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

1.什么是数组?数组的定义有哪几种格式?
数组是用来储存数据的空间,数组的类型和数据的类型一致
数组的定义赋值方式分为2种定义格式分别是
静态赋值:(1) int [] arr=new int[]  
动态数组:(2) int [] arr=new int[]{1,2,3,}

2.什么时候使用动态赋值?什么时候使用静态赋值?
在需要储存随机数的时候采用 int [] arr=new int[] 这种静态赋值的方式
在数据确定的情况下采用 int [] arr=new int[]{1,2,3}这种静态赋值方式

3.堆中存放的是什么?栈中存放的是什么?
定义一个静态数组 int [] arr=new int[]
那么这里在堆中存放的就是new int[]所开辟的一个一维数组空间
那么这里在栈中存放的就是通往堆的"钥匙"arr 栈中的代码是运行后就"出栈"删除而堆中的数据只能开垃圾处理机制

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组的越界一般是数组太小放不下数据了就会产生"越界现象"
数组空指针的产生是因为在栈中定义了int []arr数组名,却没有在堆中new int[]开辟空间,以至于arr"指针"为空
作者: 肖鲲    时间: 2019-8-4 21:04
1.什么是数组?数组的定义有哪几种格式?

数组是java中的一种容器;
数组有两种格式
①int[] arr;
②int arr[];

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

①在创建数组时,不指定内容,只指定长度,内容由稍后手动指定
②在创建数组时,就指定数组中的内容

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

①堆中存放的是new int【】
②栈中存放的是main(String[] args);


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

数组越界产生原因:访问的索引值超过了最大索引值导致的;
空指针异常原因:数组变量被赋值为null;

作者: Ssss11    时间: 2019-8-4 21:05
1.数组是java中的一种容器。
动态数组:int[] arr =new int[x]
静态数组:int [] arr =new int[]{x,x1,x2,x3,x4,x5,x6.....};
也可以写为:int [] arr ={,x1,x2,x3,x4...};

2.当我们不知道数组中的具体值,只知道数组长度时使用动态数组;当我们值到数组中的具体值时使用静态数组。

3.堆存放 数组;栈中存放方法区;

4.数组越界异常产生:访问的索引值超过了最大索引值所导致;
  数组空指针异常产生:数组变量被赋值为null。
作者: 叶志林    时间: 2019-8-4 21:12
1.什么是数组?数组的定义有哪几种格式?
     (1)数组是java中的一种容器
     (2)int[] arr;  和  int arr[];
2.什么时候使用动态赋值?什么时候使用静态赋值?
       无论哪种初始化方式,都是在创建时指定了长度
       动态初始化用于数据未知的情况下
       静态初始化用于数据已知的情况下
3.堆中存放的是什么?栈中存放的是什么?
       堆中存放的为所有new出来的空间都保存在堆中
       栈:方法执行都需要进入栈,执行完毕出栈。
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
     (1)数组越界异常的产生原因为:访问的索引值超过了最大索引值导致的
             解决方法为,访问的索引值控制在 0—数组长度 -1之间
     (2)数组空指针异常的产生原因为:数组变量被赋值为null
             解决方法为,不要赋值为null。

作者: 邱超    时间: 2019-8-4 21:15
1、数组是一种容器,数组中的数据类型相同,数组长度是在一次运行中是不变的。
数组的定义两种例如:int[] a = new int[10];和int a[] =new int[10];或者静态int[] a={1,2,3......}
2、题目给出的问题没告诉我们详细的数值和数据类型的情况下使用动态赋值,与之相反题目给出的数据例如int[] a = {1,2,3....};可以指定其中的长度;
3、堆:所有的new出来的空间都保存在堆中;
栈:方法执行需要进栈,方法执行完毕需要出栈
4、其中一个是超出长度的范围,也就是超出索引的长度,数组的长度是0到数组长度减1;
数组被赋值了空指针null

作者: 罗涵    时间: 2019-8-4 21:17
1.什么是数组?数组的定义有哪几种格式?
        数组就是一种容器,它可以储存若干相同类型的数据,起到节省代码量,便于使用与管理的效果。数组定义的格式有两种:
    1. 数据类型[] 数组名
    2. 数据类型 数组名[]
第一种比较常用,第二种比较少用。

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

3.堆中存放的是什么?栈中存放的是什么?
        堆中存放的是new出来的东西,即在内存中新分配的空间。栈中存放的是各种正在执行的方法。当一个方法要执行时便会进栈,当其执行完毕,便会出栈。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
        当使用超过定义范围的索引调用数组元素时便会产生数组越界的异常。数组中的空指针的出现常常是动态初始化数组的时候没有初始化全部元素,并使用了未初始化元素的方法。例如:
String[] a = new String[2];
a[0]="1";
System.out.println(a[1]);        //结果为显示null,这行代码是没问题的。
a[1].length();                                //空指针异常


作者: 侯仂    时间: 2019-8-4 21:21
1.什么是数组?数组的定义有哪几种格式?
数组就是储存数据长度固定的容器;
两种;
第一种:数据类型[] 数组名
int[] arr;        
double[] arr;      
char[] arr;
第二种:数据类型 数组名[]
int arr[];
double arr[];
char arr[];

2.什么时候使用动态赋值?什么时候使用静态赋值?
两种赋值都在创建时指定长度,动态赋值用在数据未知的时候,静态赋值用在数据已知的时候。

3.堆中存放的是什么?栈中存放的是什么?
堆中存放“new”出来的空间;栈中存放各种正在执行的方法,方法进栈执行,执行完出栈。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
访问的索引超出了索引的范围即和数组的长度相等或超出数组的长度;
动态初始化数组时没有初始化全部元素,arr = null 这行代码,意味着变量arr将不会再保存数组的内存地址,也就不允许再操作数组了,因此运行的时候会抛出 NullPointerException 空指针异常。
作者: 李泽楷    时间: 2019-8-4 21:28
1.什么是数组?数组的定义有哪几种格式?
数组是java中的一种容器。定义上有int[] arr;和int arr[];两种格式。

2.什么时候使用动态赋值?什么时候使用静态赋值?
在不知道具体值时使用动态赋值。创建时有指定函数使用静态赋值。

3.堆中存放的是什么?栈中存放的是什么?
栈中存放的是main的方法的运算,堆中存放的是数组具体的元素。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组越界异常是指用户索引值超出了数组长度产生的。空指针是指定数组为空值时产生

的。
作者: 林志凯    时间: 2019-8-4 21:29
1.什么是数组?数组的定义有哪几种格式?
        【1】数组就是存储数据的容器,用来存储大量的同类型数据。
        【2】数组的定义:① int[] arr;  定义一个int类型的数组,数组名为arr   
                             ② int arr[];  定义一个数组名为arr的数组,数组类型为int;

2.什么时候使用动态赋值?什么时候使用静态赋值?
        【1】在未知数组里元素个数时使用动态赋值,已知数组里元素个数和内容时使用静态赋值

3.堆中存放的是什么?栈中存放的是什么?
        【1】堆中存放的是 所有用 new 出来的在内存中的空间。
        【2】栈中存放的是 程序所使用的方法,执行的时候进栈,结束出栈。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
        【1】数组越界异常:是在,我们对数组进行访问时,对其索引值的访问超出了数组的长度。
        【2】数组空指针异常: 是在我们对数组的赋值中,赋值给它null ,是出现的。这样这个数组就不会去指向内存中的任何空间,然后我们在访问这个数组的元素时,就会产生空指针异常。
作者: 郭越10    时间: 2019-8-4 21:30
1.什么是数组?数组的定义有哪几种格式?

数组是储存数据的容器,它的长度固定,所储存的数据,数据类型要一致。
数组的定义有两种格式:① 数据类型[] 数组名;    ② 数据类型 数组名[];

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

当数据未知时可以使用动态赋值,数据已知时可以使用静态赋值。

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

堆中存放的是new开辟出的空间,栈中存放的是要执行的方法,执行完毕后移出。

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

越界异常是因为索引的范围超过了数组本身的长度。
空指针异常是因为错误的将 null 赋值给数组,导致方法不能从内存堆中寻找到数组。
作者: 张培聪    时间: 2019-8-4 21:31

1. 数组是存储相同类型数据的容器,长度固定
   数组定义 :int[] arr;
              int arr[];
2.动态赋值:在不知道数组存储的数据具体值为多少的时候使用动态赋值
  静态赋值:已经确定了数组要存储的数据,就是用静态赋值
3.创建出来的对象都会被存放在堆中,直到该对象没有被引用称为无用对象后,被垃圾回收,这时候才不会再堆中
  引用创建出来的对象的变量会被放在栈中,且方法也会被放在栈中,直到方法执行结束出栈
  动态赋值
4.数组越界异常 :ArrayIndexOutBoundsException  :
  在使用数组访问数据的时候,索引的值大于等于数组的长度,这个时候就会放生数组越界异常
  数组空指针异常:NullPointerException:
  只定义了数组引用,却没有创建对象给引用赋值时,
  这时候引用的值为null;并且使用了这个引用去使用数组的属性或者通过索引获取数据的时候就会发生数组空指针异常
作者: 林建邦    时间: 2019-8-4 21:33
1.数组是java中的一种容器    格式: int[] arr;      int arr[];
2.动态初始化用于数据未知,静态初始化用于数据已知
3.堆:所有new出来的空间,都保存在堆中
   栈:方法在栈中执行
4.越界异常:访问的索引值超过了最大索引值导致的
   空指针异常:数组变量被赋值为null
作者: 蔡伟森    时间: 2019-8-4 21:34

1.数组是java中的一种容器。
动态数组:int[] arr =new int[10];//一个长度为10的数组;
静态数组:int [] arr =new int[]{5,4,6,8,1,...};
也可以写为:int [] arr ={5,4,5,6,...};

2.当我们不知道数组中的具体值,只知道数组长度时使用动态数组;当我们值到数组中的具体值时使用静态数组。

3.堆存放 数组;栈中存放方法区;

4.数组越界异常产生:访问的索引值超过了最大索引值所导致;
  数组空指针异常产生:数组变量被赋值为null。
作者: 唐熙    时间: 2019-8-4 21:35

1、数组就是储存数据长度固定的容器;有两种定义数组的格式:
1)数据类型[] 数组名;2)数据类型  数组名[]

2、创建数组时,元素不确定的用动态赋值;创建数组时,元素确定的用静态赋值

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

4、程序运行时,访问一个超过数组索引值的元素时,就会产生索引越界;
     程序运行时,数组对应的地址为null时,找不到访问数据就会产生空指针异常

作者: 施胜源    时间: 2019-8-4 21:37
1.数组是用于批量存储相同数据类型的数据的存储模型
   定义格式:
(1)数据类型[  ]  变量名
(2)数据类型     变量名[  ]
2.在创建数组时,已知数组元素的值时用静态初始化进行赋值;未知数组元素的值时用动态初始化进行赋值。
3.堆:所有用 new 命令创建出来的空间都存放在堆中;
  栈:方法执行时需要进栈展开,方法之行结束立即出栈。
4.数组越界异常:当访问数组时,索引值大于数组的长度,即会产生数组越界异常;
   数组空指针异常:当所访问的数组变量被赋值为null时,即会发生数组空指针异常。

作者: 唐熙    时间: 2019-8-4 21:47
1.什么是数组?数组的定义有哪几种格式?
    数组就是储存数据长度固定的容器;
    有两种定义数组的格式:
      1)数据类型[] 数组名;2)数据类型  数组名[]。

2.什么时候使用动态赋值?什么时候使用静态赋值?
    创建数组时,元素不确定的用动态赋值;创建数组时,元素确定的用静态赋值。

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

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
    程序运行时,访问一个超过数组索引值的元素时,就会产生索引越界;
    程序运行时,数组对应的地址为null时,找不到访问数据就会产生空指针异常。
作者: 刘劲翔    时间: 2019-8-4 21:47
1. 数组是java中的一种容器。 定义格式:①int[] arr;   ②int arr[];
2. 动态赋值用于数据未知    静态赋值用于数据已知
3. 堆中堆放着数组名   栈中存放的是值
4. 访问的索引值超过了数组的最大索引值
    把数组赋值为null,数组就不会去指向任何空间,所以使用数组去访问元素时,就会发生空指针异常
作者: 林明春    时间: 2019-8-4 21:50
1.什么是数组?数组的定义有那几种格式?
答:①数组是Java中的一种容器,可以储存数据类型。②数组的定义有静态赋值和动态赋值两种格式。
2.什么时候使用动态赋值?什么时候使用静态赋值?
答:创建数组的时候,内容未知的时候使用动态赋值,内容已知的时候使用静态赋值。
3.堆中存放的是什么?栈中存放的是什么?
答:堆中存放的是数组,栈是使用方法。
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:数组的越界异常是设置的数组放不下数据产生的现象,数组的变量被赋值为了null所以产生空指针异常。
作者: GanYongFu    时间: 2019-8-4 21:52
1、数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致;三种
2、只给定数组长度,没给定内容时用动态赋值;明确给定内容时使用静态赋值
3、堆中存的是对象。栈中存的是基本数据类型和堆中对象的引用
4、数组越界异常:访问的索引值超过了数组的最大索引值
数组空指针异常:数组的引用没有指向内存地址,指向了引用
作者: jvee10Huanyuan    时间: 2019-8-4 21:53
1.
可以理解为一个容器,用于装数据。

int [ ] Arr  or int arr[ ];

2.

动态初始化用于数据未知,静态用于数据已知。


3.堆里存有临时数据,栈里面放的是方法。

4.
在访问超出数组规定范围时产生;String 型数组,未初始化某个索引值时候出现,或数组变量定义为null时出现
作者: 黄博松    时间: 2019-8-5 08:02
1.什么是数组?数组的定义有哪几种格式?
  (1)数组是java中的一种容器,可以存储固定长度的数据。
  (2)数组的定义格式有两种:第一种:数据类型[] 数组名。第二种:数据类型 数组名[]。

2.什么时候使用动态赋值?什么时候使用静态赋值?
  (1)在创建数组时,不指定内容,只指定数组长度时候用动态赋值;
  (2)在创建数组时,指定了数组中的内容时用静态赋值。

3.堆中存放的是什么?栈中存放的是什么?
  (1)堆中存放的是 所有用 new 出来的在内存中的空间。
  (2)栈中存放的是 程序所使用的方法,执行的时候进栈,结束出栈。

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
   (1)越界异常是因为索引的范围超过了数组本身的长度。
   (2) 数组空指针异常的产生原因为:数组变量被赋值为空指针null,
    解决方法:不要赋值为null。




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