数组的创建和初始化

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fighting123678/article/details/83050975

1、为什么在面向对象中介绍数组呢?因为数组也是一个对象


2、声明数组的时候
(1)推荐使用 char []a

数组元素类型  []  数组变量名;

(2)在java中,生成数组的时候,是动态分配内存的,声明的时候不能指定数组大小。

在这里插入图片描述


3、数组的创建和初始化
如果已经new之后,没有赋初值的话,整形数组自动赋初值为0

在这里插入图片描述


4、实例1:
第一句话执行完之后,栈中的s指向堆中的一个对象,这个对象有两个元素,每一个元素都是Student类型的引用,而不是Student类型的对象,这个引用当前没有赋初值,所以默认初始化为null ,如果是类类型的数组的话,动态初始化的时候,在数组每一个位置上生成的是一个该类类型引用
第二句话是,在堆中生成一个新的学生对象出来,赋值给s[0],这个时候s[0]就有值了,指的是这个对象的逻辑地址。

在这里插入图片描述


5、数组初始化

初始化的时候有两种方式,分别为动态初始化和静态初始化

在这里插入图片描述

在这里插入图片描述


6、为赋初值的时候,如果未赋初值的话,会对引用进行默认初始化,如果为赋初值就调用length方法的话,会报错,因为空引用没有指向的对象,自然就没有改方法,所以,就会报错。

(1)使用length的时候,如果没有括号的话,也就是str.length;这个是一个属性,是数组的属性。如果有括号的话,也就是str.length();是字符串的方法。

在这里插入图片描述


7、数组的说明

在这里插入图片描述


8、

在这里插入图片描述

本来是应该什么也不输出的,但是,如果在命令行中输入 java 类名 字符串 这样的话

args[0]=I args[1]=am args[2]=a args[3]=Chinese

在这里插入图片描述


9、数组大小

在这里插入图片描述


10、与c++中数组的区别

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/fighting123678/article/details/83050975
今日推荐