1. 概述
(1)System是描述系统一些信息的类,类中的属性和方法都是静态的。不能被实例化,没有提供构造函数。
(2)字段摘要
out:标准输出,默认是控制台。
in:标准输入,默认是键盘。
2. 方法
(1)获取系统的属性信息:PropertiesgetProperties();
※ 此方法返回的双列集合,即键值对;因为Properties是Hahstable的子类,也就是Map集合的一个子类对象
那么通过Map方法取出该集合中的元素。
※ 该集合存储的都是字符串,没有泛型定义
(2)获取指定属性信息:String getProperty(Stringkey);
(3)在系统内定义特有信息:String setProperty(Stringkey,String value);
(4)在jvm启动时,加载一些属性信息:通过命令:java -D<name>=<value>可以设置特有的系统属性信息
例:
import java.util.*; class SystemDemo { public static void main(String[] args) { Properties p=System.getProperties();//获取当前的系统属性 sop(p); String value=System.getProperty("os.name");//获取指定键指示的系统属性 sop("os.name="+value); System.setProperty("wode","My_PC");//设置指定键指示的系统属性信息 sop(p); String s= System.getProperty("woshi");//当系统中没有该键值,返回null sop(s); } public static void sop(Object obj) { System.out.println(obj); } }
1. 概述
(1)每个java应用程序都有一个Runtime类实例,使用应用程序能与其中运行的环境相连接,应用程序不能创建自己的Runtime类的实例,是由系统底层自己创建的。
(2)该类中并没有提供构造函数,说明不可以new对象,那么会直接想到该类中的方法都是静态的。
查阅API文档发现,该类中还有非静态方法,说明该类肯定会提供了方法获取本来对象。
而且该方法是静态的,并返回值类型是本来类型。
(3)由以上特点可以看出该类使用了单例设计模式完成。
2. 方法
(1)获取本类对象:static RuntimegetRuntime();
(2)在单独的进程中执行指定字符串命令:Processexec(String command);
(3)在Process中有一个杀掉子进程的方法,可将exec方法开启的进程结束:void destroy();
例:
class RuntimeDemo { public static void main(String[] args)throws Exception { Runtime r=Runtime.getRuntime();//获取本类对象 Process p=r.exec("notepad.exe");//执行记事本程序 r.exec("notepad.exe RuntimeDemo.java");//用记事本打开指定文件 Thread.sleep(3000);//让线程等待3秒 p.destroy();//杀掉指定进程 } }
1. Date类(1)概述
Date类表示特定的瞬间,精确到毫秒。
java中的默认显示格式为:Mon Jun 10 22:35:21 CST2013
(2)自定义格式
默认的格式不一定满足每个人的需求,那么就需要自定义格式化模式。
因为Date类中的大部分方法已过时,所以只能找其子类来实现。
子类DateFormat中有format方法可以实现,但是DateFormat是抽象类,不能实例化。
但其下有个SimpleDateFormat子类,可以定义时间模式。
※ 具体步骤:
a. 创建Date对象
b. 将时间模式封装到SimpleDateFormat对象中
c. 调用format方法让格式化模式指定Date对象
例:import java.util.*; import java.text.*; class DateDemo { public static void main(String[] args) { Date d=new Date();//创建Date对象 //sop(d); ////将模式封装到SimpleDateformat对象中。 SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日E HH:mm:ss"); //调用format方法让模式格式化指定Date对象。 String time=sdf.format(d); sop(time); } public static void sop(Object ojb) { System.out.println(ojb); } }
2. Calendar类(1)概述:
a. Calendar是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH等日历字段之间的转换提供了一些方法。
b. Calendar可以对年月日等时间进行获取。并提供了相应的子段值。可参阅API文档。
(2)方法:
※ 获取时间:
1)获取年份:Calendar.YEAR
2)获取月份:Calendar.MONTH
3)获取日期:Calendar.DAY_OF_MONTH
4)获取星期:Calendar.DAY_OF_WEEK
5)获取小时:Calendar.HOUR_OF_DAY
6)获取分钟:Calendar.MINUTE
7)获取秒数:Calendar.SECOND
※ 设置时间:
1)根据日历的规则,为给定的日历字段添加或减去指定的时间量:
void add(int field,int amount);
2)获取指定的日历字段对应的时间值:
int get(int field);
3)将给定日历字段对应的时间值设置为给定值:
void set(int field,int value);
设置日历字段 YEAR、MONTH和DAY_OF_MONTH的值:
void set(int year,int month,int date);
例:
import java.util.*; class CalendarDemo { public static void main(String[] args) { Calendar c=Calendar.getInstance(); sop(pattern(c));//显示今天日期和当前时间 c.add(Calendar.YEAR,5);//年份变为5年后 sop(pattern(c));//显示指定日期和时间 } //获取指定日期和时间 public static String pattern(Calendar c) { String s=year(c)+month(c)+day(c)+week(c)+" "+time(c); return s; } //获取年份 public static int year(Calendar c) { return c.get(Calendar.YEAR); } //获取月份 public static String month(Calendar c) { String[] yue={"一月","二月","三月","四月", "五月","六月","七月","八月", "九月","十月","十一月","十二月"}; return yue[c.get(Calendar.MONTH)]; } //获取日期 public static int day(Calendar c) { return c.get(Calendar.DAY_OF_MONTH); } //获取星期 public static String week(Calendar c) { String[] day={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; return day[c.get(Calendar.DAY_OF_WEEK)]; } //获取时间,格式为时:分:秒 public static String time(Calendar c) { String s=c.get(Calendar.HOUR_OF_DAY)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND); return s; } //打印输出 public static void sop(Object obj) { System.out.println(obj); } }
四、Math类
1.概述:为三角函数、对数函数和其他通用数学函数提供常数和静态方法。
2.常见方法:
(1)Math.ceil():返回大于指定数据的最小整数
(2)Math.floor():返回小于指定数据的最大整数
(3)Math.round():四舍五入
(4)Math.pow(x,y):x的y次方