JAVA常用类
- 包装类Intger(其中包括自动装箱和拆箱)
- 作用:
- 为什么要用到包装类?
- 自动装箱和拆箱
- Date类
- Date类里面的一些用法
- 显示结果为:Thu Apr 18 19:30:39 CST 2019
- DateFormat类和DateSimpleFormat类
- 有关DateFormat中Format()的用法:
- 有关DateFormat中parse()的用法:
- Calendar(主要用来对时间分量进行计算) 类和GregorianCalendar类
- 有关Calendar 中的set()的用法:
- 有关Calendar 中的add()的用法:
- 有关Calendar 与Date()的转换:
- File类
- 本人是JAVA初学者,如有错误请大家指出,谢谢!
本周我大致学习了JAVA的几个常用的类(包装类,Date类,DateFormat类,SimpleDateFormat类,Calendar类,GregorianCalendar类以及File类)*
包装类Intger(其中包括自动装箱和拆箱)
作用:
包装类即把基本类型(比如int,byte,char等)转化为对象类型.
为什么要用到包装类?
因为像ArrayList这样的集合不能存储基本类型只能存储对象类型,为了方便对这些集合的使用,才有了包装类将基本类型包装成对象类型。
自动装箱和拆箱
所谓自动装箱和拆箱就是系统帮我们自动改进代码,例如
Integer i=new Integer(1000);
//之前版本的编译器写法
Integer i=1000;//此时编译器自动帮助改进代码,i为一个对象
int c=i;//此时为拆箱,编译器自动帮你改进代码:i.int value()
Date类
时间处理相关类视图:
从上面图中可以看出,时间处理类核心类:java.util.Date
- JAVA提供了Date类来处理日期,时间(此处所说的Date类是java.util包下的类,而不是java.sql下的包)。Date类历史悠久,因为其历史的悠久,Date类里面的一些构造器,方法已经Deprecated。关于日期的计算最好用Calendar类。
- 标准纪元1970.1.10点开始到某个时刻的毫秒数,类型是long
Date类里面的一些用法
- Date():生成一个代表当前日期时间的Date对象。该方法在底层调用System.currentTimeMillis()获得long整数作为日期参数。
- Date(long date):根据指定的long型整数来生成一个Date对象。该构造器的参数表示创建的Date对象和GMT 1970年1月1日00:00:00之间时间差,以毫秒作为计时单位。
- equal(Object obj):用来判断两个时间是否相等,相等则返回true。
Date d=new Date();
System.out.println(d);
显示结果为:Thu Apr 18 19:30:39 CST 2019
DateFormat类和DateSimpleFormat类
SimpleDateFormat类的继承关系:
- java.lang.Object
- java.text.Format
- java.text.DateFormat
- java.text.SimpleDateFormat
有关DateFormat中Format()的用法:
DateFormat d=new SimpleFormat("yyyy-MM-dd");//格式化字符串需与待转化的字符串格式保持一致
Date d1=new Date(1555313910390L);
String str=d.format(d1); //将时间对象按照格式化字符串,转化成字符串
有关DateFormat中parse()的用法:
String str1="2019-04-15";
DateFormat d2=new SimpleDateFormat("yyyy-MM-dd");
/* 捕获异常 */
try {
Date d3=d2.parse(str1); //将字符串转化为时间对象
System.out.println(d3);
} catch (ParseException e) {
e.printStackTrace();
}
Calendar(主要用来对时间分量进行计算) 类和GregorianCalendar类
GregorianCalendar类的继承关系
- java.lang.Object
- java.text.Calendar
- java.text.GregorianCalendar
- java.text.BuddhistCalendar
有关Calendar 中的set()的用法:
在set()方法中可以设置日期,比如年月日等。
Calendar d=new GregorianCalendar();
//d.set(2019, 03, 15, 16, 23);
d.set(Calendar.YEAR,2018);
d.set(Calendar.MONTH,3);//在中国代表四月
d.set(Calendar.DATE, 15);
有关Calendar 中的add()的用法:
在add()方法中主要实现对日期的增加,如:
d.add(Calendar.YEAR, -10);
有关Calendar 与Date()的转换:
Calendar d=new GregorianCalendar();
//d.set(2019, 03, 15, 16, 23);
d.set(Calendar.YEAR,2018);
d.set(Calendar.MONTH,3);//在中国代表四月
d.set(Calendar.DATE, 15);
Date c=d.getTime();//将Calendar转换为Date
Date d=new Date();
c.setTime(date);//将Date转换为Calendar
File类
实例:
package com.File;
import java.io.File;
public class TestFile {
public static void main(String[] args) {
File f=new File("d:/WANG");
printFile(f,0);
f.mkdirs();//没有这些目录时自动给你添加
f.mkdir(); //没有这些目录时则无法生成
//File f1=new File(f,"test.java");
//f1.createNewFile();//创建一个新的文件
//f1.delete();//删除
}
static void printFile(File file,int level) {
for(int i=0;i<level;i++) {
System.out.println("-");
}
System.out.println(file.getName());
if(file.isDirectory()) {//如果是目录则检查是否有子目录,如果是文件则结束
File[] files=file.listFiles();//把子目录全部列举出来
for(File temp:files) {//遍历目每一层录
printFile(temp,level+1);
}
}
}
}
本人是JAVA初学者,如有错误请大家指出,谢谢!