1、System类
System类是描述系统的一些信息的类,类中方法和属性都是静态的,没有提供构造函数,不能实例化。
1)两个重要字段:
out:标准输出流,默认是控制台。
in:标准输入流,默认是键盘。
2)方法:
A、获取系统属性信息:
Properties getProperties():此方法返回的是双列集合(即键值对),都是字符串,没有泛型定义;Properties是Hashtable的子类,是Map集合的一个子类对象,可通过Map方法取出该集合中的元素。
B、获取指定属性信息:
StringgetProperty(String key):获取指定键指示的系统属性。
C、定义特有信息:
StringsetProperty(Stringkey,String value):设置指定键指示的系统属性。
D、jvm启动时,动态加载属性信息:
通过命令:java -D<name>=<value>设置特有的系统属性信息。
2、Runtime类
1)概述:每个java应用程序都有一个Runtime类实例,使用应用程序能与其中运行的环境相连接,应用程序不能创建自己的Runtime类的实例,由系统底层自己创建,可以通过 getRuntime 方法获取当前运行时。
该类没有提供构造函数,说明不可以new对象,然该类中还有非静态方法,说明该类肯定提供了方法获取本类对象,而且该方法是静态的,返回值类型是本来类型,该类使用了单例设计模式。
2)方法:
static Runtime getRuntime():返回与当前 Java 应用程序相关的运行时对象;
Process exec(String command):在单独的进程中执行指定的字符串命令。
3)在Process中有一个杀掉子进程的方法:void destroy(),将exec方法开启的进程结束。
3、Date类
1)概述:Date类表示特定的瞬间,精确到毫秒。
2)自定义格式:
Date类中的大部分方法已过时,所以只能找其子类来实现,子类DateFormat中有format方法可以实现,但是DateFormat是抽象类,不能实例化,所以通过其SimpleDateFormat子类,定义时间模式。
具体步骤:
A、创建Date对象;Date d = new Date();
B、将时间模式封装到SimpleDateFormat对象中;
SimpleDateFormat sdf =new SimpleDateFormat(“yyyy年MM月dd日”);
C、调用format方法让模式格式化指定Date对象;
String s = sdf.format(d);
4、Calendar类
1)概述:
Calendar是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH等日历字段之间的转换提供了一些方法,可以对年月日等时间进行获取,并提供了相应的子段值。
2)方法:
A、获取时间
获取年份:Calendar.YEAR
获取月份:Calendar.MONTH
获取日期:Calendar.DAY_OF_MONTH
获取星期:Calendar.DAY_OF_WEEK
获取小时:Calendar.HOUR_OF_DAY
获取分钟:Calendar.MINUTE
获取秒数:Calendar.SECOND
B、设置时间
根据日历的规则,为给定的日历字段添加或减去指定的时间量:
void add(int field,intamount);
获取指定的日历字段对应的时间值:
int get(int field);
将给定日历字段对应的时间值设置为给定值:
void set(int field,intvalue);
示例:
编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天。
import java.text.*;
import java.util.*;
import java.io.*;
class Test9
{
public static void main(String[] args)
{
while(true)
{
try
{
//键盘录入。
BufferedReader bufr =
new BufferedReader(newInputStreamReader(System.in));
System.out.println("输入日期(格式要求:yyyy-MM-dd):");
String line=bufr.readLine();
//给定结束条件。
if("over".equals(line))
break;
//输入的日期格式解析设置。
//获取日期格式器。
DateFormat df = DateFormat.getDateInstance();
Date da = df.parse(line);//给定字符解析出一个日期。
//将日历设置为输入值。
Calendar c = Calendar.getInstance();
c.setTime(da);
//获取所需的星期及年中第几天。
System.out.println("当前的日期是:"+GetWeek(c.get(Calendar.DAY_OF_WEEK)));
System.out.println("当前是一年中第"+c.get(Calendar.DAY_OF_YEAR)+"天");
}
catch(Exception e)
{
System.out.println("格式错误");
}
}
}
//将数字星期换成中文星期。
public static String GetWeek(int x)
{
//数组角标从0开始,国外解析的星期“1”相当于我国的星期日。
String[] week={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六 "};
return week[x];
}
}
5、Math类
该类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数,该类全为静态方法。
1)方法:
double ceil(double d):返回大于指定数据的最小整数;
double floor(double d):返回小于指定数据的最大整数;
long round(double d):返回d的四舍五入的值;
double pow(double a, double b):返回a的b次方;
double random():返回正号的double值,是一个大于等于0.0且小于1.0的随机数。
2)Random类
这是util包中的一个单独的类,此类的实例用于生成伪随机数流,用于获取随机数,与Math中的random方法是一样的,不过这个类有自身的方法,可以将相应的随机数强转为指定基本数据类型。如:int nextInt(int n):返回一个伪随机数,它是取自此随机数生成器序列的在0和指定值之间(含头不含尾)均匀分布的int值。