数组笔记

一、有效的下标数组

  最小的下标是0,最大的下标是数组的元素个数-1spa

  编译器并不会检查你是否用了有效的下标code

  可是若是运行的时候出现了无效的下标,可能会致使程序终止blog

二、定义数组变量编译器

  <类型>[] <名字> = new <类型>[元素个数];for循环

    int[] grades = new int[100];编译

    double[] averages = new double[20];class

 

  ·元素个数必须是整数变量

  ·元素个数必须给出循环

  ·元素个数能够是变量

三、数组成员

  length -->能够得到数组元素的数量

四、直接初始化数组

  ·new建立的数组会获得默认的0值

  ·int[] scores = {87,98,69,54,65,76,87,99};

  ·直接用大括号给出数组的全部元素的初始值

  ·不须要给出数组的大小,编译器会帮助咱们数数

  ·如何获得数组的大小?length!

五、数组变量

  ·数组变量是素组的管理者而非数组自己

  ·数组必须建立出来而后交给数组变量来管理

  ·数组变量之间的赋值是管理权限的赋予

  ·数组变量之间的比较是判断是否管理同一个数组

六、复制数组

  ·必须遍历源数组将每一个元素逐一拷贝给目的数组

七、遍历数组

  一般都是使用for循环,让循环变量i从0到<数组的length

  这样循环体内最大的i正好是数组最大的有效下标

    常见错误

    ·循环结束条件是<=数组长度

    ·离开循环后,继续用i的值来作数组元素的下标!

八、for-each循环(遍历数组)

  for(<类型><变量>:<数组>){

    ……

  }

  对于数组当中的每个元素,取出来做为这个类型的变量

  只能输出数组中的每个元素,没法经过变量修改数组中的元素

 九、primes[cnt++]=x;

  如下代码为例

    int[] primes = new int[50];

    int x = 5;

    int cnt =0;

    primes[cnt++]=x;

  执行事后,primes[0]=x,cnt=1

十、二维数组

  ·int[][] a = new int[3][5];

  ·一般理解为a是一个三行五列的矩阵

十一、二维数组的遍历

二维数组的遍历须要两层的for循环

1         for( int i=0; i<3; i++)
2         {
3             for( int j=0; j<5; j++)
4             {
5                 a[i][j] = i*j;
6                 System.out.print(a[i][j]);
7             }
8             System.out.println();
9         }

  ·a[i][j]是一个int

  ·表示第i行第j列上的单元,a[i,j]并不存在

十二、二维数组的初始化

        int [][] b = {
                {1,2,3,4},    
                {1,2,3},
        };

  ·编译器来数数

  ·每行一个{},逗号分隔

  ·最后的逗号能够存在,有古老的传统

  ·若是省略,表示补零

相关文章
相关标签/搜索