System:类中的方法和属性都是静态的。
常用方法:
out:标准输出,默认是控制台。
in:标准输入,默认是键盘。
Properties getProperties();获取系统属性信息。因为Properties是Hashtable的子类,也就是Map集合的一个子类对象。那么可以通过map的方法取出该集合中的元素。该集合中存储的都是字符串。没有泛型定义。
setProperties("mykey""myvalue");自定义一些特有的信息。
java -Dhaha=pppp SystemDemo在启动JVM时,动态加载一些属性信息。
import java.util.Properties;
public class SystemDemo
{
/**
* @系统信息 */
public static void main(String[] args)
{
Properties prop=System.getProperties();//获取系统信息
System.setProperty("mykey","myvalue");//设置自定义的系统信息
String myvalue=prop.getProperty("mykey");//获取特定的属性信息
System.out.println(myvalue);
for(Object obj:prop.keySet())
{
String value=(String)prop.get(obj);
System.out.println(obj+","+value);
}
}
}
Runtime对象:每个Java应用程序都有一个Runtime类实例,使应用程序能够与其运行的环境相连接。可以通过getRuntime方法获取当前运行时。该类并没有提供构造函数。说明不可以new对象。那么会直接想到该类中的方法都是静态的。发现该类中还有非静态方法。说明该类肯定会提供了方法获取本类对象。而且该方法是静态的,并返回值类型是本类类型。由这个特点可以看出该类使用了单例设计模式完成。
如:Runtime r = Runtime.getRuntime();
Process p = r.exec("winmine.exe");//在引号中可以添加一个文件名,表示由前面的程序执行后面的文件。
P.destroy();//销毁线程。
Date类:
创建新的date对象:Date d = new Date ();
封装日期模式:SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日E hh:mm:ss")
调用format方法让模式格式化指定Date对象:String time = sdf.format(d);
如果要获取单独的年月日,可以通过查表法获取。
Calendar类自定义时间:
Calendar c = Calendar.getInstance();
C.set(2012,02,23);//设置年月日。
向前后推算日期:c.add(Calendar.DAY_OF_MONTH,-18);//负数表示向以前推算,正数表示向以后推算。
import java.util.Calendar;
public class DateDemo2
{
/**
* 单独获取时间中的某一项
*/
public static void main(String[] args)
{
Calendar cal=Calendar.getInstance();
cal.set(2012,07,27);//设置的时间不能超过当前时间。
cal.add(Calendar.MONTH, 1);//将某一项属性向前或向后推指定的量。
//MONTH指示月份的 get 和 set 的字段数字。 这是一个特定与日历的值。一月对应为0;
String[] mons={"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
//星期天为1,为开始。
String[] weeks={"","星期天","星期一","星期二","星期三","星期四","星期五","星期六"};
System.out.print(cal.get(Calendar.YEAR)+"年");
System.out.print(mons[cal.get(Calendar.MONTH)]);
System.out.print(cal.get(Calendar.DAY_OF_MONTH)+"日");
System.out.print(weeks[cal.get(Calendar.DAY_OF_WEEK)]);
}
}
Math接口:
常用方法:
ceil(16.34);//返回大于指定数据的最小整数。
floor (12.34);//小于指定数据的最大整数。
round(12.54);//四舍五入
获取随即0-10整数:int d = (int)(Math.random()*10+1);
方法二:Random r = new Random();
Int d = r.nextInt(10)+1;