Java基础_数组

来源:互联网 发布:炸奥利奥 知乎 编辑:程序博客网 时间:2024/04/30 00:40

1、一维数组

定义: type arrayName[] 或 type[] arrayName

在数组定义时只是建立了一种数组的引用,并没有对数组元素分配内存、生成实例,数组元素内存分配由new语句或静态初始化完成。因此数组声明中[]不用说明数组元素个数,而且如上声明的数组是不能访问它的任何元素的,必须生成数组经过对数组元素分配内存进行初始化后,才能引用数组元素。

内存分配:arrayName = new type[arraySize];

初始化:数组定义后必须经过初始化才可以引用

Date dateArray[] = new Date[10];

分配10个Date类型数据引用空间,并初始化为null。

引用:arrayName[index],下标从0开始。

长度或称元素个数:arrayName.length,通过length属性

2、二维数组

定义: type arrayName[][] 或 type[] arrayName[] 或 type[][] arrayName

内存分配:从高维分配到低维分配

String strArray[][] = new String[2][];

strArray[0] = new String[3];

strArray[1] = new String[2];



打印杨辉三角形

public class YangHuiTriangle {
    public static void main(String[] args) {
        int level = 10;//定义一共多少层的杨辉三角形
        int[][] yangHui = new int[level][];
        for(int i=0; i<level; i++) {
            yangHui[i] = new int[i+1];//动态初始化低维数组大小,分配内存空间
        }
        yangHui[0][0] = 1;
        for(int i=1; i<level; i++) {
            yangHui[i][0] = 1;
            for(int j=1; j<yangHui[i].length-1; j++) {
                yangHui[i][j] = yangHui[i-1][j-1] + yangHui[i-1][j];
            }
            yangHui[i][yangHui[i].length-1] = 1;
        }
        for(int i=0; i<level; i++) {
            for(int j=0; j<yangHui[i].length; j++) {
                System.out.print(yangHui[i][j] + "\t");
            }
            System.out.println();
        }
    }
}
/**
 *  1    
    1    1    
    1    2    1    
    1    3    3    1    
    1    4    6    4    1    
    1    5    10    10    5    1    
    1    6    15    20    15    6    1    
    1    7    21    35    35    21    7    1    
    1    8    28    56    70    56    28    8    1    
    1    9    36    84    126    126    84    36    9    1    
 *
 */

原创粉丝点击