javase-Study02(陈曙光)

来源:互联网 发布:golang 可变结构 编辑:程序博客网 时间:2024/04/29 01:29

数组:
  内存中的连续空间
  数组是一次性定义多个相同类型的变量 
  Java中一个数组就是一个对象,有属性,没有方法
 
  int[] a; //定义一个数组,变量名就是指向数组首地址的指针
  a=new int[10]; //为数组分配空间
  a.length;  //得到数组的长度     
  数组创建后有初始值:数字类型为0   布尔类型为false  引用类型为null
  String[] 默认值 null
 
  初始化、创建、和声明在同一时间
      int[] i = {0,1};   //显示初始化
      int[] i = new int[]{0,1};  //注意:这样显示的初始化的时候,new int[] 中括号中必须是空的,不能填数字
      Car[] c = {new Car(),new Car()};

  数组拷贝
  System.arrayCopy(Object src, int srcPos, Object dest, int destPos, int length);
  src源数组,srcPos从第几位开始拷贝(数组下标,从0开始),dest目标数组,destPos目标数组放置的起始位置,length,表示要拷贝的长度。拷贝一个数组到另一个数组。
 
  多维数组
   1) 有效定义
      int[][] i1 = new int[2][3]; (同时给定一维,二维的空间)
      int[][] i2 = new int[2][]; (给定一维的空间,二维空间待定,不规则的二维数组)
      i2[0] = new int[2],i2[1] = new int[3];
     * C++中 int[][] =new int[][3];有效
   2) 无效定义
      int[][] i1 = new int[][3];
   3) 数组长度 ------------数组的属性length(在二维数组中这个属性只代表第一维的长度)
      int[] i = new int[5];
      int len = i.length;  //len = 5;
      
      Student[][] st = new Student[4][6];
      len = st.length;      //len = 4;
      len = st[0].length;   //len = 6;