JAVA笔记21-数组

一、数组内存分析

1、java中的数组是引用数据类型,必须分配在堆中,数组中每个元素相当于它的成员变量(默认值为0);但C中的数组可以分配在栈中。数组中的元素可以是基本类型,也可以是引用类型。如String s1[];//存储的是String的引用。

2、Java中声明数组时不能指定其长度。如 int a[5];//错误

3、数组名 = new 数组元素类型 [数组元素的个数]

int [] s;//null
s=new int[5];//默认为0
//int s[]=new int[5]
forint 1=0; i<5; i++){ s[i]=i; }

 

public class Test{
    public static void main(String args[]){
        Date [] days;//null
        days = new Date[3];//null
        for(int i=0; i<3; i++){
            days[i] = new Date(2004,4,i+1);
        }
    }
}
class Date{
    int year;
    int month;
    int day;
    Date(int y, int m, int d){
        year = y;
        month = m;
        day = d;
    }
}

二、创建和使用

1、动态初始化:数组定义与为数组元素分配空间和赋值分开进行。(如上例)

2、静态初始化:数组定义的同时为数组元素分配空间并赋值。

如:int a[]={1,2,3};Date days[]={new Date(2004,4,1),new Date(2004,4,2),new Date(2004,4,3)};

注意:数组元素相当于类的成员变量,按照成员变量的规则默认初始化

三、引用

arrayName[index] index=0~n-1

arrayName.length求数组长度

public class Test{
    public static void main(String args[]){
        int a[] = new int[args.length];
        for(int i = 0;i<args.length; i++){
            a[i] = Integer.parseInt(args[i]);
        }
        print(a);
    }
    private static void print(int[] a){
        for(int i = 0;i<a.length; i++){
            System.out.print(a[i]+" ");
        }
    }
}

 

posted @ 2014-04-23 11:35  seven7seven  阅读(183)  评论(0编辑  收藏  举报