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

今天我们学习了数组,请根据自己的理解对下列问题进行回答:
今天需要掌握的知识点有:
1.什么是数组?数组的定义有哪几种格式?
2.什么时候使用动态赋值?什么时候使用静态赋值?
3.堆中存放的是什么?栈中存放的是什么?
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?

28 个回复

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

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

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


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

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



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

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



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

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




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

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

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

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

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

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

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

(1)越界异常是我们访问了一个,超出数组范围的索引值而产生的。
(2)空指针异常是,因为数组变量被赋值为了null。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
     (1)数组是java中的一种容器
     (2)int[] arr;  和  int arr[];
2.什么时候使用动态赋值?什么时候使用静态赋值?
       无论哪种初始化方式,都是在创建时指定了长度
       动态初始化用于数据未知的情况下
       静态初始化用于数据已知的情况下
3.堆中存放的是什么?栈中存放的是什么?
       堆中存放的为所有new出来的空间都保存在堆中
       栈:方法执行都需要进入栈,执行完毕出栈。
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
     (1)数组越界异常的产生原因为:访问的索引值超过了最大索引值导致的
             解决方法为,访问的索引值控制在 0—数组长度 -1之间
     (2)数组空指针异常的产生原因为:数组变量被赋值为null
             解决方法为,不要赋值为null。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
        数组就是一种容器,它可以储存若干相同类型的数据,起到节省代码量,便于使用与管理的效果。数组定义的格式有两种:
    1. 数据类型[] 数组名
    2. 数据类型 数组名[]
第一种比较常用,第二种比较少用。

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

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

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

回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
        【1】数组就是存储数据的容器,用来存储大量的同类型数据。
        【2】数组的定义:① int[] arr;  定义一个int类型的数组,数组名为arr   
                             ② int arr[];  定义一个数组名为arr的数组,数组类型为int;

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

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

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
        【1】数组越界异常:是在,我们对数组进行访问时,对其索引值的访问超出了数组的长度。
        【2】数组空指针异常: 是在我们对数组的赋值中,赋值给它null ,是出现的。这样这个数组就不会去指向内存中的任何空间,然后我们在访问这个数组的元素时,就会产生空指针异常。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
  (1)数组是java中的一种容器,可以存储固定长度的数据。
  (2)数组的定义格式有两种:第一种:数据类型[] 数组名。第二种:数据类型 数组名[]。

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

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

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
   (1)越界异常是因为索引的范围超过了数组本身的长度。
   (2) 数组空指针异常的产生原因为:数组变量被赋值为空指针null,
    解决方法:不要赋值为null。
回复 使用道具 举报
1.
可以理解为一个容器,用于装数据。

int [ ] Arr  or int arr[ ];

2.

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


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

4.
在访问超出数组规定范围时产生;String 型数组,未初始化某个索引值时候出现,或数组变量定义为null时出现
回复 使用道具 举报
1、数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致;三种
2、只给定数组长度,没给定内容时用动态赋值;明确给定内容时使用静态赋值
3、堆中存的是对象。栈中存的是基本数据类型和堆中对象的引用
4、数组越界异常:访问的索引值超过了数组的最大索引值
数组空指针异常:数组的引用没有指向内存地址,指向了引用
回复 使用道具 举报
1.什么是数组?数组的定义有那几种格式?
答:①数组是Java中的一种容器,可以储存数据类型。②数组的定义有静态赋值和动态赋值两种格式。
2.什么时候使用动态赋值?什么时候使用静态赋值?
答:创建数组的时候,内容未知的时候使用动态赋值,内容已知的时候使用静态赋值。
3.堆中存放的是什么?栈中存放的是什么?
答:堆中存放的是数组,栈是使用方法。
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
答:数组的越界异常是设置的数组放不下数据产生的现象,数组的变量被赋值为了null所以产生空指针异常。
回复 使用道具 举报
1. 数组是java中的一种容器。 定义格式:①int[] arr;   ②int arr[];
2. 动态赋值用于数据未知    静态赋值用于数据已知
3. 堆中堆放着数组名   栈中存放的是值
4. 访问的索引值超过了数组的最大索引值
    把数组赋值为null,数组就不会去指向任何空间,所以使用数组去访问元素时,就会发生空指针异常
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
    数组就是储存数据长度固定的容器;
    有两种定义数组的格式:
      1)数据类型[] 数组名;2)数据类型  数组名[]。

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

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

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
    程序运行时,访问一个超过数组索引值的元素时,就会产生索引越界;
    程序运行时,数组对应的地址为null时,找不到访问数据就会产生空指针异常。
回复 使用道具 举报
1.数组是用于批量存储相同数据类型的数据的存储模型
   定义格式:
(1)数据类型[  ]  变量名
(2)数据类型     变量名[  ]
2.在创建数组时,已知数组元素的值时用静态初始化进行赋值;未知数组元素的值时用动态初始化进行赋值。
3.堆:所有用 new 命令创建出来的空间都存放在堆中;
  栈:方法执行时需要进栈展开,方法之行结束立即出栈。
4.数组越界异常:当访问数组时,索引值大于数组的长度,即会产生数组越界异常;
   数组空指针异常:当所访问的数组变量被赋值为null时,即会发生数组空指针异常。
回复 使用道具 举报

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

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

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

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

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。
回复 使用道具 举报
1.数组是java中的一种容器    格式: int[] arr;      int arr[];
2.动态初始化用于数据未知,静态初始化用于数据已知
3.堆:所有new出来的空间,都保存在堆中
   栈:方法在栈中执行
4.越界异常:访问的索引值超过了最大索引值导致的
   空指针异常:数组变量被赋值为null
回复 使用道具 举报

1. 数组是存储相同类型数据的容器,长度固定
   数组定义 :int[] arr;
              int arr[];
2.动态赋值:在不知道数组存储的数据具体值为多少的时候使用动态赋值
  静态赋值:已经确定了数组要存储的数据,就是用静态赋值
3.创建出来的对象都会被存放在堆中,直到该对象没有被引用称为无用对象后,被垃圾回收,这时候才不会再堆中
  引用创建出来的对象的变量会被放在栈中,且方法也会被放在栈中,直到方法执行结束出栈
  动态赋值
4.数组越界异常 :ArrayIndexOutBoundsException  :
  在使用数组访问数据的时候,索引的值大于等于数组的长度,这个时候就会放生数组越界异常
  数组空指针异常:NullPointerException:
  只定义了数组引用,却没有创建对象给引用赋值时,
  这时候引用的值为null;并且使用了这个引用去使用数组的属性或者通过索引获取数据的时候就会发生数组空指针异常
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?

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

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

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

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

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

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

越界异常是因为索引的范围超过了数组本身的长度。
空指针异常是因为错误的将 null 赋值给数组,导致方法不能从内存堆中寻找到数组。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
数组是java中的一种容器。定义上有int[] arr;和int arr[];两种格式。

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

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

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

的。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?
数组就是储存数据长度固定的容器;
两种;
第一种:数据类型[] 数组名
int[] arr;        
double[] arr;      
char[] arr;
第二种:数据类型 数组名[]
int arr[];
double arr[];
char arr[];

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

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

4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
访问的索引超出了索引的范围即和数组的长度相等或超出数组的长度;
动态初始化数组时没有初始化全部元素,arr = null 这行代码,意味着变量arr将不会再保存数组的内存地址,也就不允许再操作数组了,因此运行的时候会抛出 NullPointerException 空指针异常。
回复 使用道具 举报
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
回复 使用道具 举报
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。
回复 使用道具 举报
1.什么是数组?数组的定义有哪几种格式?

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

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

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

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

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


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

数组越界产生原因:访问的索引值超过了最大索引值导致的;
空指针异常原因:数组变量被赋值为null;
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马