黑马程序员---------Java基础知识:常用API
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
其他常用API主要有System(系统类),Runtime(运行时类),Math(数学类),Date(日期类),Garlendar(日历类)。
一. System(系统类)的行为和属性都是静态的,主要方法有以下几个:
System常用的是in .out .Properties getProperties().其作用是:
System.in:标准输入,默认是键盘输入 。这个在IO流中常用。
System.out:标准输出,默认是控制台 。这个在IO流中常用。
Properties getProperties():获取系统属性信息。
例程演示了系统属性的获取和设置。
import java.util.*;
public class SystemDemo {
public static <Propreties> void main(String[] args) {
//打印属性信息
Propreties pr = (Propreties) System.getProperties();//获取属性信息
for(Object obj: ((Hashtable<Object,Object>) pr).keySet())//高级for循环
{
String value = (String) ((Hashtable<Object,Object>) pr).get(obj);//取出内容
System.out.println(obj+"::"+value);//打印信息
}
Stringvalue = System.getProperty("os.name");
System.out.println("我的os.name::"+value);//获取系统名,WIN7
//自定义特有信息使用SetProperty(key,value);
System.setProperty("os.name","不告诉你");//设置了自己的特有数据
String value2 = System.getProperty("os.name");
System.out.println("我的os.name::"+value2);//获取系统名,
String value1 = System.getProperty("user.home");//获取数据
System.out.println("我的user.home::"+value1);//获取系统名,WIN7
}
}
/*部分运行结果如下
...
...
...
java.vendor.url.bug::http://bugreport.sun.com/bugreport/
sun.io.unicode.encoding::UnicodeLittle
sun.cpu.endian::little
sun.desktop::windows
sun.cpu.isalist::amd64
我的os.name::Windows 7
我的os.name::不告诉你
我的user.home::C:\Users\Administrator
*/
通过直接创建Date的对象,就可以得到时间数据,但是这个时候的数据并不是我们常见的格式,因为需要将模式封装到SimpleDateFormat里面。其用法是
Date d = new Date();//建立一个Date类。得好时间
System.out.println(d);//Tue Jan 13 12:51:29 CST2015
//因为看不懂所以要封装到SimpleDateformat
SimpleDateFormat s =new SimpleDateFormat("yyyy年MM月dd日EHH:mm:ss");//HH:mm:ss结果出来的是24小时制的,hh:mm:ss则是12小时的
Calendar获取的是日期和星期。这两个的具体用法看例程
例程:
import java.text.SimpleDateFormat;
import java.util.*;
public class DateAndCalendar {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();//创建对象
//c.set(2014, 2, 1);//设置时间
c.add(Calendar.DAY_OF_MONTH, -1);//当前日期-1天就是昨天的日期,年月日
printCalendar(c);//打印结果
Date d = new Date();//建立一个Date类。得到时间
System.out.println(d);//Tue Jan 13 12:51:29 CST2015
//因为看不懂所以要封装到SimpleDateformat
SimpleDateFormat s =new SimpleDateFormat("yyyy年MM月dd日EHH:mm:ss");
//调用指定对象
String time = s.format(d);
System.out.println(time);//2015年01月13日星期二12:59:05
//long l = newSystem.currentTimeMillis();
long l = System.currentTimeMillis();
Date d1 = new Date(l);
System.out.println("d1="+d1);
Stringtime1 = s.format(d1);
System.out.println(time1);//2015年01月13日星期二12:59:05
//获取昨天此时的时刻则
c.add(Calendar.DAY_OF_MONTH, -1);
printCalendar(c);
SimpleDateFormat ss = new SimpleDateFormat("EHH:mm:ss");
String time0 = ss.format(d1);
System.out.println(time0);
}
public static void printCalendar(Calendar c)
{
//String[] mons ={"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
//String[] week = {"星期一","星期二","星期三","星期四","星期五","星期六","星期天"};
//int index = c.get(Calendar.MONTH);
//int index1 =c.get(Calendar.DAY_OF_MONTH);
//System.out.print(mons[index]);//打印月
//System.out.print(week[index1]);//打印星期
System.out.print(c.get(Calendar.YEAR)+"年");//打印年
System.out.print(c.get(Calendar.MONTH)+1+"月");//月从0开始所以要+1
System.out.println(c.get(Calendar.DAY_OF_MONTH)+"日");
}
}
打印出来的结果,根据需要的格式去做相应的设置。需要特别记住的是月是从0开始 的,所以要打印的时候必须+1.否则月份不对。