您的位置:首页 > 职场人生

黑马程序员————————Java数组

2015-12-08 12:43 465 查看
[b]数组概念[/b]

所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。

数组使我们在程序开发过程中经常会使用到的一个简单集合,所谓简单就是在同一个数组集合中所有元素必须是相同类型,不同的开发语言中都有数组这个概念,利用数组我们可以把一类变量进行收集在一起进行使用。

在Java中有一维数组和多维维数组这两种种数组结构,一维数组是我们经常使用的,下面就从使用的角度来介绍数组,以下内容以一位数组为例。

Java 数组初始化的两种方法:

静态初始化: 程序员在初始化数组时为数组每个元素赋值;

动态初始化: 数组初始化时,程序员只指定数组的长度,由系统为每个元素赋初值。

public class ArrayInit {

public static void main(String[] args) {

//静态初始化数组:方法一

String cats[] = new String[] {

"Tom","Sam","Mimi"

};

//静态初始化数组:方法二

String dogs[] = {"Jimmy","Gougou","Doggy"};

//动态初始化数据

String books[] = new String[2];

books[0] = "Thinking in Java";

books[1] = "Effective Java";

System.out.println(cats.length);

System.out.println(dogs.length);

System.out.println(books.length);

}

}

Java数组是一种引用数据类型。数组变量并不是数组本身,而是指向堆内存中存放的数组对象。因此,可以改变一个数组变量所引用的数组。看下面这段代码

public class ArrayInit {

public static void main(String[] args) {

//静态初始化数组:方法一

String cats[] = new String[] {

"Tom","Sam","Mimi"

};

//静态初始化数组:方法二

String dogs[] = {"Jimmy","Gougou","Doggy"};

//动态初始化数据

String books[] = new String[2];

books[0] = "Thinking in Java";

books[1] = "Effective Java";

cats = dogs;

books = dogs;

printArray(cats);

printArray(dogs);

printArray(books);

}

private static void printArray(String[] arr) {

for(int i=0; i < arr.length; i++) {

System.out.println(arr[i]);

}

}

}

2.数组是否必须初始化

对于这个问题,关键在于要弄清楚数组变量和数组对象的差别。数组变量是存放在栈内存中的,数组对象是存放在堆内存中的。数组变量只是一个引用变量,他能够指向实际的数组对象。

所谓的数组初始化并非对数组变量初始化,而是对数组对象进行初始化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: