码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-12-08 12:56:56      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:

数组概念

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

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

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

 

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

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

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

 
  1. public class ArrayInit {  
  2.     public static void main(String[] args) {  
  3.           
  4.         //静态初始化数组:方法一  
  5.         String cats[] = new String[] {  
  6.                 "Tom","Sam","Mimi"  
  7.         };  
  8.           
  9.         //静态初始化数组:方法二  
  10.         String dogs[] = {"Jimmy","Gougou","Doggy"};  
  11.           
  12.         //动态初始化数据  
  13.         String books[] = new String[2];  
  14.         books[0] = "Thinking in Java";  
  15.         books[1] = "Effective Java";  
  16.           
  17.         System.out.println(cats.length);  
  18.         System.out.println(dogs.length);  
  19.         System.out.println(books.length);  
  20.     }  
  21. }  

 

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

 
  1. public class ArrayInit {  
  2.     public static void main(String[] args) {  
  3.           
  4.         //静态初始化数组:方法一  
  5.         String cats[] = new String[] {  
  6.                 "Tom","Sam","Mimi"  
  7.         };  
  8.           
  9.         //静态初始化数组:方法二  
  10.         String dogs[] = {"Jimmy","Gougou","Doggy"};  
  11.           
  12.         //动态初始化数据  
  13.         String books[] = new String[2];  
  14.         books[0] = "Thinking in Java";  
  15.         books[1] = "Effective Java";  
  16.           
  17.         cats = dogs;  
  18.         books = dogs;  
  19.         printArray(cats);  
  20.         printArray(dogs);  
  21.         printArray(books);  
  22.     }  
  23.       
  24.     private static void printArray(String[] arr) {  
  25.         for(int i=0; i < arr.length; i++) {  
  26.             System.out.println(arr[i]);  
  27.         }  
  28.     }  
  29. }  

 

  2.数组是否必须初始化

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

    所谓的数组初始化并非对数组变量初始化,而是对数组对象进行初始化。

 

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

标签:

原文地址:http://www.cnblogs.com/stack007/p/5028627.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!