Java数组:Java 语言中提供的数组是用来存储固定大小的同类型元素,我们以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99
声明数组的变量:想要使用数组首先必须声明一个数组的变量,才能在程序中使用数组 声明数组变量的语法: dataType[] arrayRefVar//首选方法或者dataType arrayRefVar[]; 两个方法效果是一样的
创建一个数组使用new操作符来创建数组:arrayRefvae=new dataType[arraysize];在此创建的数组中使用 dataType[arraySize] 创建了一个数组,并把新创建的数组的引用赋值给变量 arrayRefVar
数组变量的声明和创建数组可以用一条语句完成:dataType[ ] arrayRefvar=new dataType[array
Size];还可以这种方法创建数组:dataType[ ] arrayRefvar={value1,value2,value3,value4};
实例:首先定义数组大小,再定义数组,数组 myList,这里 myList 数组里有 11个 double 元素,它的下标从 0 到 10定义元素的长度,再计算元素的总和,如果i大于11的话将不会 结果总和为:11490.373
处理数组:组的元素类型和数组的大小都是确定的,所以当处理数组元素时候,我们通常使用基本循环或者 For-Each 循环 创建、初始化和操纵数组 ;
例:double[] myList = {1.9, 2.9, 3.4, 3.5};
for (int i = 0; i < myList.length; i++){
System.out.println(myList[i] + " ");
} 结果为: 1.9 2.9 3.4 3.5
double total = 0;
for (int i = 0; i < myList.length; i++) { //元素相加
total += myList[i];
}
System.out.println("Total is " + total); 结果为:11.7
double max = myList[0];
for (int i = 1; i < myList.length; i++) {
if (myList[i] > max) max = myList[i];
}
System.out.println("Max is " + max); 最大值为:3.5
}
}
For-each循环又称加强循环,它能在不使用下标的情况下遍历数组
语法格式: public class Dome9 {
for(type element: array) public static void main(String[] args) {
{ double[ ] myLis = {1.9, 2.9, 3.4, 3.5};
system.out.println(element); //打印所有的数组元素
} for (double element: myList) {
System.out.println(element);
}}}
多维数组:可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组 String str[][] = new String[3][4];
多维数组的动态初始化:为每一维分配空间type[][] typeName = new type[typeLength1][typeLength2];ype 可以为基本数据类型和复合数据类型,arraylength1 和 arraylength2 必须为正整数,arraylength1 为行数,arraylength2 为列数,可以看成一个两行三列的数组
Java日期时间:java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象 第一个构造函数使用当前日期和时间来初始化对象:Date( )
第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数:Date(long millisec)
date对象:java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象 第一个构造函数使用当前日期和时间来初始化对象Date( )
第二个构造函数接收个参数,该参数是从1970年1月1日起的毫秒数Date(long millisec)
Date对象创建以后,可以调用这些方法:
boolean after(Date date) | 调用此方法的Date对象在指定日期之后返回true,否则返回false |
boolean before(Date date) | 调用此方法的Date对象在指定日期之前返回true,否则返回false |
Object clone( ) | 返回此对象的副本 |
int compareTo(Date date) | 比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。 |
boolean equals(Object date) | 当调用此方法的Date对象和指定日期相等时候返回true,否则返回false |
long getTime( ) | 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数 |
int compareTo(Object obj) | 若obj是Date类型则操作等同于compareTo(Date) 。否则它抛出ClassCastException异常 |
int hashCode( ) | 返回此对象的哈希码值 |
void setTime(long time) | 用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期 |
String toString( ) | 此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。 |
获取当前的日期时间:使用 Date 对象的 toString() 方法来打印当前日期和时间
日期比较:使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值 使用方法 before(),after() 和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true 使用 compareTo() 方法