Date类:
表示日期格式,精确到毫秒。
Date类常用的方法:
Date():比较常用,用来获取当前的系统时间,用Date格式来表示。
public Date(long date):分配Date对象并初始化此对此象,以表示自从标准基准时间(成为“历元(epoch)”)
Date------------------>long
public long getTime()
publci long getTime(long time):现在很少用。
创建Date对象: Date date=new Date();
long time=date.getTime(); //此时打印出的time值是一个ms值
System.curremtTimeMilis():System类中的方法,单独使用意义不大,就是测试个程序运行的速率
例如:
long start=System.currentTimeMilis();
for(int x=0;x<10000;x++){
System.out.println("大熊猫是国宝......");
}
long end=System.currentTimeMilis();
time=start-end; //当然最后的单位是ms
重点是Date(日期格式)--------------------->String(日期文本格式) 的转换
两者之间的转换用到DateFormat这个类:他是一个抽象类,不能实例化。所以要用到他的子类SimpleDateFormat
Date------------------------>String 称为格式化 String format(Date date)
String----------------------->Date 称为解析 public Date parse(String source)throws parseEception(编译时期异常)
source是一种格式:例如:(yy-MM-dd)
SimpleDateFormat的构造方法:
SimpleDateFormat(String pattern):当前日期使用哪一种开发模式:开发者规定xxxx年xx月xx天xx时x分x秒
年 y yyyy
月 M MM
日 d dd
年月日:yyyy-MM-dd
Date------------>String
先创建Date对象 Date date=new Date();
创建SimpleDateFormat对象
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
String dateString=simpleDateFormat.format(date);//格式化方法 当然输出的dateString就是yyyy-MM-dd的形式
String------------>Date 解析
先定义一个日期文本格式:
String dateString2=“1997-07-19”;
创建SimpleDateFormat类对象
SimpleDateFormat simpleDateFormat2=new SimpleDateFormat(“yyyy-MM-dd”);//此处需注意:文本日期的格式必须和SimpleDateFormat的格式相同,否则报错。
Date date=simpleDateFormat.parse(dateString2); 解析
然后来算一下出生到现在一共多少天了(以我为例):
public class DateDemo{
public static void main(String[] args){
Scanner sc=new Scanner(System.in); //导包
System.out.println("请输入出生年月日:yyyy-MM-dd格式");
int date=sc.nextInt();
SimpleDateFormat simple=new SimpleDateFormat("yyyy-MM-dd"); //创建SimpleDateFormat对象
Date date2=simple.parse(date);//解析
long myTime=date2.getTime();//获取出生日期的毫秒值
long nowTime=System.currentTimeMilis();//获取现在时刻的毫秒值
long time=nowTime-myTime;
long day=time/1000/60/60/24;
System.out.println("出生到现在一共:"+day+"天了");
}
}
再来看一个例子:比如说如何查询任意一年的2月多少天?那么现在就引用Calendar来算:
Calendar:
public class CalendarDemo {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入任一年份:");
int year=sc.nextInt();
//创建Calendar对象
Calendar calendar=Calendar.getInstance();
calendar.set(year,2,1);
calendar.add(calendar.DATE,-1);
System.out.println(calendar.add(calendar.DATE,-1));
}
}
System类:
in:标准输入流
InputStream:字节输入流
out:标准输出流
PrintStream:标准输出流
gc():public static void gc():Java虚拟机努力回收一些未用的对象,开启垃圾回收器实质是Object中的
finalize()方法
public static void exit(int status):这个方法执行,jvm就退出了,参数是0;
public static void arrayCopy(Object src, int srcPos, Object dest,int destPos,int length):
从指定源数组中的某个位置开始复制,复制目标数组中的某个位置,指定长度。
int[] arr={11,22,33,44,55};
int[] arr2={10;11;12;13;14;15};
System.arrayCopy(arr,2,arr3,2,2);
System.out.println(arr); //{11,22,33,44,55}
System.out.println(arr2); //{10,11,12,33,44,15}
注意:在上边的方法中,改变的是arr2 ,arr数组元素是不变的。
对象数组:
可以存储对象的数组;
在这里举例说明一下可以吧.....gagaga....
需求: 有一个班,班里有5个学生,分别有自己的信息(姓名,年龄,性别...),遍历5个学生的信息!
此处省略学生标准类,如果不会的朋友请看我前边的内容。
public class ObjectArray{
public static void main(String[] args){
//创建一个学生数组,存储学生信息
Student[ ] student=new Student[5];
//创建5个学生对象
Student s1=new Student("张三",28);
Student s2=new Student("李四",28);
Student s3=new Student("王五",28);
Student s4=new Student("赵六",28);
Student s5=new Student("田七",28);
students[0]=s1;
students[1]=s2;
students[2]=s3;
students[3]=s4;
students[4]=s5;
//遍历(迭代)学生信息:
for(int x=0;x<students.length;x++){
Student student=students[x];
System.out.println(student.getName()+"---"+student.getAge());
}
}
}
集合:
今天也是初识集合,先一起来看看集合吧!
集合的由来:目前学习的语言是一种面向对象语言,面向对象语言对事物的描述通过对象(属性和行为...)体现的,必须给对象进行操作,并且还要针对多个对象进行操作
Collection 层次结构中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。
添加功能:
boolean add(Object e):添加单个元素
boolean addAll(Collection c):添加一个集合中的元素。
删除功能:
void clear();暴力清除
remove(Object o):移除单个元素
removeAll(Collection c):移除一个集合。
判断功能:
boolean contains(Object o):一个集合中是否包含指定的元素
boolean containsAll(Collection c):一个集合包含另一个集合的元素
boolean isEmpty():判断集合是否为空。
获取功能:
int size():获取元素的方法
Iterator itersator():迭代器(遍历集合的特有的功能)
转换功能:
Object[ ] toArray():将集合转换成数组
交集:
boolean retainAll(Collection c):假设集合A和集合B取交集,取来的交集放在集合A中了,boolean的表达意思是
如果取交集之后,集合A发生改变,则返回true。
Collection的高级功能:
boolean addAll(Collection c):添加一个集合的元素
removeAll(Collection c):删除一个集合中的元素(移除一个算是移除)
boolean containsAll(Collection c):包含一个集合中的元素(包含所有算是包含)
集合的专有遍历(迭代)方法:(迭代器)
Iterator<E> iterator()
Iterator中有
boolean hasNext();判断是否至少存在一个元素
Object next();如果上式判断存在至少一个元素,则遍历下一个元素 |