记录生活中的点点滴滴

0%

day5

currentTimeMillis

  • 获取系统当前时间对应的毫秒数
  • 获取1970.1.1 00:00:00 到 当前时间的毫秒数

数组(array):多个相同数据类型变量的组合在一起,便于管理

  • 一维数组的声明和初始化

    数组的声明 int[] x,int x[];

    int[] score;

    String[] names;

  • 初始化

    静态初始化:数组的初始化和元素赋值是同时进行的

    score = new int[]{60,70,80,90,100}

    动态初始化:数组的初始化和元素赋值是分开进行的

    names = new String[4];

    name[0] = “凉生”

总结:不管是静态初始化,还是动态初始化,一旦初始化完成,其长度就是确定的!

错误的初始化:

int[] = new int[4]{60,70,80,90,100}

int[3] = new int[]{60,70,80,90,100}

int[] arr = {1,2,3} 简化写法: 类型推断

如何获取数组的长度:数组的属性:length

数组元素的遍历:

1
2
3
4
int[] score = new int[]{1,2,3,4,5};
for(int i=0;i<score.length;i++){
System.out.println(score[i]);
}

一维数组的使用:

不同类型数组的默认初始化问题:

基本数据类型:

  整型数组:byte short int long 的默认数组元素的初始化值都是0

  浮点型数组:float double 的默认数组元素的初始化值都是0.0

  字符型数组:char 的默认数组元素的初始化值都是’\u0000’ 或者 0(不要理解为:’ 0 ‘)

        从形式上来说是空格

  布尔类型:boolean 的默认数组元素的初始化值:false

引用数据类型:

  数组,接口,类的默认数组元素的初始化值为:null

总结:数组本身属于引用数据类型

   数组元素,可以是基本数据类型也可以是引用数据类型。

一维数组的内存解析(难点)

二维数组:一维数组的元素,恰好又是一维数组

二位数组的声明方式:int[ ] [ ]y,int[ ] y[ ],int y[ ] [ ]

二维数组的初始化:

  静态初始化:

   String[][] [ ] [ ] arr1 = new int[3] [2];

  动态初始化1:

   int[ ] [ ] arr2 = new int[3] [2];

  动态初始化2:

   int[] [] arr3 = new int[3] [ ];

   arr3[0] = new int[3];

   arr3[1] = new int[2];

   arr3[2] = new int[4];

通过下角标的方式进行数组元素的调用

arr2[1] [0] = 1;

数组的属性:length

System.out.println(arr.length) //3

System.out.println(arr[0].length) //2

System.out.println(arr[1].length) //2

System.out.println(arr[2].length) //2

二维数组的使用:

  如果调用的是二维数组中的元素a,而元素a任然是数组,根据元素a的数组类型

  决定内部元素的默认初始化值,与一维数组的规定相同

  如果输出元素a,其值决定于是否初始化过,如果初始化过,则输出地址值,如果

  没初始化过,则为null

数组一旦初始化,其长度就是确定的,而其长度不可改变