JavaSE_day11:Date类,Calendar类获取日期时间,System类,对象数组,集合

论坛 期权论坛 脚本     
匿名技术用户   2020-12-28 01:17   11   0

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();如果上式判断存在至少一个元素,则遍历下一个元素

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP