----------- android培训、java培训、java博客、java学习型技术博客、期待与您交流! --------------
本章主要的知识点总结:1、System类常用方法及系统属性的设置和获取
2、使用Date,Calendar类操作时间日期,格式化及更改
3、 Runtime类和Math-Random类
一、System类
常用的方法有:
arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
exit(int status) 终止当前正在运行的 Java 虚拟机。
currentTimeMillis() 返回以毫秒为单位的当前时间。
setProperties(Properties props) 将系统属性设置为 Properties 参数。
setProperty(String key,String value) 设置指定键指示的系统属性。
getProperties() 确定当前的系统属性。Properties是HashTable的子类,可以通过Map的方法取出该集合中的元素,该集合存储的都是字符串。
getProperty(String key) 获取指定键指示的系统属性。
JVM启动可以动态加载一些属性信息。
二、Runtime类
Runtime类是应用程序和系统环境之间的接口。
Runtime类封装了java命令本身所启动的实例进程。也就是封装了java虚拟机进程,一个java虚拟机对应一个Runtime实例对象。Runtime实例对象只能用Runtime.getRuntime()来获得Runtime实例对象的引用。我们可以通过Runtime对象获取当前的空闲内存和总内存等。
由于java虚拟机本身就是windows操作系统上的一个进程,在这个进程中可以启动其他windows程序的运行实例,通过这种方式启动的其他应用程序的运行实例就称为子进程。
Runtime.getRuntime().exec() 就可以启动子进程。他的返回值就是代表一个子进程的Process类对象。例如:windows下 Runtime.getRuntime().exec("notepad.exe a.txt"); 就会启动记事本程序,打开a.txt这个文件.
三、时间和日期相关的常用类有Date,Calendar
与时间和日期相关的常用类有Date,Calendar,DateFormat,SimpleDateFormat。(Calendar类几乎替代了Date类,除非某些方法接受的参数只能是Date类型参数,那就只能用Date类了)
一个例子:
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
Date d = sdf1.parse("2011-03-01");
sdf2.format(d); //这里返回String类型的日期字符串“2011年03月01日”
Calendar 类是一个抽象类,它为特定瞬间与一组诸如
YEAR
、MONTH
、DAY_OF_MONTH
、HOUR
等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。Calendar 提供了一个类方法
getInstance
,以获得此类型的一个通用的对象。Calendar rightNow = Calendar.getInstance();
另外可以使用三种方法更改日历字段:
set()
、add()
和roll()
。
四、Math-Random类
Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
常用方法:
abs(int a) 返回
int
值的绝对值ceil(double a)
返回最小的(最接近负无穷大)
double
值,该值大于等于参数,并等于某个整数。floor(double a)
返回最大的(最接近正无穷大)
double
值,该值小于等于参数,并等于某个整数。round(double a)
返回最接近参数的
long,四舍五入
pow(double a, double b)
返回第一个参数的第二个参数次幂的值
random()
返回带正号的
double
值,该值大于等于0.0
且小于1.0
。Random类的nextInt(int n)
- 返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的
int
值。