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 | int[] score = new int[]{1,2,3,4,5}; |
一维数组的使用:
不同类型数组的默认初始化问题:
基本数据类型:
整型数组: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
数组一旦初始化,其长度就是确定的,而其长度不可改变