一、 System类
System类的构造方法是private,不能被实例化。内部的方法和属性都是静态,static,方便被调用。
有标准输入(in)、标准输出(out)和错误输出流(err);对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分实用方法
1)long currentTimeMillis();获取当前时间的毫秒值,必须有参照。返回的是当前时间与1970年1月1日午夜之间的时间差(毫秒)。
例子:
long l1=1437102978973l; // l1/1000/60/60/24 换成秒/分/时/天
long l2=System.currentTimeMillis();
System.out.println(l2-l1); //统计操作时间。
2)getProperties 确定当前的系统属性
public static void main(String[] args){
gp();
}public static void gp(){
Properties prop=System.getProperties();
Set<String> ssSet=prop.stringPropertyNames();
for(String ss:ssSet){
String value=prop.getProperty(ss);
System.out.println(ss+":"+value);
}
}
1、获取系统属性信息,并存储到Properties集合中。Properties集合中存储的都是String类型的键和值。最好使用它自己的存储、取出方法来完成元素的操作
2、可以给系统设置一些属性信息,是全局的,替他程序可以使用。system.setProperty();
3) line_separator 设置换行
String LINE_SEPARATOR=System.getProperty("line_separator"); 要进行初始化。
4)gc方法
public static void gc();请求系统进行垃圾回收
垃圾收集可以手动调用System.gc()或者Runtime.getRuntime().gc()来进行。至于系统是否立刻回收,则取决于系统中垃圾回收算法的实现以及系统执行时的特使情况。
二、Runtime ,每一个java应用程序都有一个Runtime实例,使程序与运行环境相连接。可通过getRuntime获取当前运行时。
Runtime没有构造方法,该类不可以创建对象。单例设计模式:
Runtime r=Runtime.getRuntime();
process p=r.exec("notepad.exe f:\\io.java");// 调用本地进程 ,打开了.txt,得匹配.
Thread.sleep(5000);
p.destroy();
三、 Math ,执行基本数学运算的方法。
double d1=Math.ceil(12.56); //13.0返回大于参数的最小整数
double d2=Math.floor(12.56); //12.0返回小于参数的最大整数
double d3=Math.round(12.56); //13.0返回四舍五入的整数
double d4=Math.pow(a,b); //a的b次方
double d5=(int)(Math.random ( )*6+1); //生成
四、Random
Random r=new Random();
double d=(int)(r.nextDouble()*6+1);// 生成随机的1~6
int d=r.nextInt(6)+1;
五、Date
年份y-1900,月份0~11,日期1~31,小时0~23,分0~59
1)日期对象和毫秒值的转换
毫秒值--->日期对象:1、通过Date对象的构造方法 2 、通过setTime设置
可以通过Date对象的方法对该日期各个字段(年月日)进行操作
Date date=new Date(); //Fri Jul 17 14:23:52 CST 2015
Date date2=new Date(1316448000000l); //指定毫秒值封装成对象
// 通过setTime() 方法
Date d1=new Date();
System.out.println("当前日期为:"+d1);
d1.setTime(1316448000000l);
System.out.println("毫秒值的日期:"+d1);
日期对象--->毫秒值:getTime方法。可以通过具体数值进行运算。
long time=System.currentTimeMillis(); //获取当前时间的毫秒值
long time1=date1.getTime();
2)使用DateFormat类格式化和解析日期字符串。
日期对象----> 日期格式字符串
Date date=new Date();
DateFormat df=DateFormat.getDateInstance();
String s_date=df.format(date); //2015-7-17 14:23:52
1、 默认格式:DateFormat df=DateFormat.getDateInstance(DateFormat.FULL);//2015年7月17日 星期五
DEFAULT:2015-7-17,LONG:2015年7月17日
2、 自定义:
Date date=new Date();
DateFormat df=DateFormat.getDateInstance();
df=new SimpleDateFormat("yyyyMMdd");
日期格式字符串---->日期对象,使用DateFormat中的parse()方法
String st_date="2015年7月17日";
DateFormat df=DateFormat.getDateInstance(DateFormat.LONG);
Date date=df.parse(st_date);
System.out.println(date); //Tue Apr 17 00:00:00 CST 2012
注意:2015--7--17等自定义格式,则需要 先定义一下格式 df=new SimpleDateFormat("yyyy--MM--dd");
3) Calendar类实现日期和时间字段之间转换,
Calendar c= Calendar.getInstance();
int year=c.get(Calendar.YEAR);
int month=c.get(Calendar .MONTH)+1;int day=c.get(Calendar.DAY_OF_MONTH);
注意:week,国外把星期日设为开始第一天。