Java数组

来源:互联网 发布:淘宝店被占用了怎么办 编辑:程序博客网 时间:2024/04/28 19:13

这个是写给我自己看的学习笔记,您可以跳过~~~  ^-^

今天回过头来写Java的学习笔记,呀呀,略感丢脸。因为感觉应该写高端霸气一点的东西,基础知识总是掌握了又忘,忘了又学,归根到底还是没有多写代码的缘故。

一写代码又会出现很多小问题,数组的赋初值有个时候也会成为问题。之前记得如果在 C语言里面赋值的话可以使用int a[10]={0} 这样得到的每一个元素是相同的0,不过

错了,只有第一个元素可以,赋值使用memset(a,0,10)这样才对,呀呀,这是多少年前学的C语言啊,不断的扩充自己怎么能进步呢~打击略大      

道路还很长呀,革命尚未成功,战士仍需努力。

希望自己点点滴滴的努力,以后也可以写出多多的帅帅的代码~~~喵喵,加油!


1.数据类型的归属

在java中数组属于引用类。引用类的数据空间开辟是在堆空间的而不是栈空间。可以用来存储多个数据,每个数组的元素存放一个数据,通常可通过数组元素的索引来访问数组元素,包括为数组元素赋值和取出使用。

在数组中的元素上必须是同一个类型的。

由于java是面向对象的,所以类和类之间存在着继承关系,这样的话元素可以使某个大类之间的某几个小类的。


2.数组的定义

数组的定义有两种方式:
type arrayname[]
type[] arrayname;

如果是C的第一种可能是比较常见的,但是比较好的是第二种,在C#中只支持第二种类型。这样可以便于理解把 type[]理解为引用类型的,得到的数组名是arrayname.

注意:数组定义的时候相当于定义了一个引用的变量,相当于定义了一个指针。指针的指向还不能确定任何有效的内存,初始化之后才能使用。

3.数组的初始化

一旦数组的初始化完成,数组在内存中的空间将被固定下来,因此数组的长度是不可变的。

数组的初始化必须有两种方式:
静态初始化:初始化的时候程序猿显示的给每个元素付初始值,系统决定长度。
动态初始化:初始化是先指定长度,由系统为数组元素分配初始值。

3.1静态初始化

静态输出话的一般格式:
arrayname = new type[]{e1,e2,e3....}
其中type就是数组元素在定义时候的数据类型,这里的type当然也可以是子类的数据类型。
eg:  
Object[] objArr;

objArr = new String[] {"Java","HelloWorld"};
使用静态初始化的方法还可以简化:
int [] a={5,6,7,8};

动态初始化
动态初始化只指定数组的长度,有系统为每个数组元素指定初始值
arrayName = new type[length];

e.g.
int [] a = new int[5];
Object[] books = new String[5];
执行动态初始化时,程序员指定数组长度,系统为数组元素分配初始值。
基本类型中整数类型byte,short, int , long的初始值为0.





























0 0
原创粉丝点击