------------android培训、java培训、java学习型技术博客、期待与您交流! ------------
1.System类
System 类包含一些有用的类字段和方法。它不能被实例化。所以类中的方法和属性都是静态的。
在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。
out:标准输出,默认是控制台。
in:标准输入,默认是键盘。
err:标准错误输出流。
操作方法:
void exit(int status)
终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止
public static void main(String[] args)
{
//直接终止虚拟机的运行
System.exit(0);
}
Properties getProperties()获取系统属性信息
import java.util.*;
class SystemDemo
{
public static void main(String[] args)
{
Properties prop = System.getProperties();
//因为Properties是Hashtable的子类,也就是Map集合的一个子类对象。
//那么可以通过map的方法取出该集合中的元素。
//该集合中存储都是字符串。没有泛型定义。
//在系统中自定义一些特有信息
System.setProperty("mykey","myvalue");
//获取指定属性信息。
String value = System.getProperty("os.name");
System.out.println("value="+value);
/*
//获取所有属性信息。
for(Object obj : prop.keySet())
{
String value = (String)prop.get(obj);
System.out.println(obj+"::"+value);
}
*/
}
}
long currentTimeMillis()
返回以毫秒为单位的当前时间
class SystemDemo
{
public static void main(String[] args)
{
long start = System.currentTimeMillis();
for(int i = 0;i<1000;i++)
{
System.out.print("");
}
long end = System.currentTimeMillis();
System.out.println(end-start);
}
}
2.Runtime类
Runtime:程序的运行时类的对象。每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime()方法获取当前运行时。
特点:没有构造方法,不能通过new对象,但类中有非静态的方法,并且提供了一个静态方法获取本类对象,说明该类使用单例设计模式,并且返回值是本类类型,该方法是:static Runtime getRuntime();
方法:
Process exec(String command) 在单独的进程中执行指定的字符串命令(调用外部程序可用到)
void gc() 运行垃圾回收器。
static Runtime getRuntime() 返回与当前 Java 应用程序相关的运行时对象
class RuntimeDemo {
public static void main(String[] args) throws IOException,InterruptedException
{
// 获取Runtime类的对象
Runtime r = Runtime.getRuntime();
Process p = r.exec("notepad");
Thread.sleep(3000);//等待3秒
p.destroy();//杀掉子进程
}
}
3.Date类
Date类是日期类,用于日期数据的操作,参数为毫秒值.(位于java中的util包中)
此类中大部分方法都从jdk1.1开始被Calendar类中的方法所代替,本类方法过时。
long getTime():日期到毫秒的转换
void setTime(long time):毫秒到日期的转换
DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。
我们在创建一个Date类的对象的时候,将对象打印出来之后是不利于我们辨认的时间,这个时候就需要用到DateFornat类中的方法来解析这个时间。
示例代码如下:
import java.text.SimpleDateFormat;
import java.util.*;
public class ArraysDemo
{
public static void main(String[] args)
{
Date d=new Date();//创建打印的对象
System.out.println(d);//打印结果:Sat Jun 08 00:20:18 CST 2013
//打印的时间看不懂.希望能有些格式
//想让打印的有年月日.这样看起来很好.方法是在Date类中另请参见中
SimpleDateFormat sdf=new SimpleDateFormat("yyy年MM月dd日 hh:mm:ss");
//调用format方法让模式格式化指定的Date对象.
String time =sdf.format(d);
System.out.println(time);//打印结果:13年06月08日 12:20:18
}
}
4.Calendar类
Calendar类是日历类,用于替代Date类的使用,它里面提供了很多功能来单独获取日历的某个数据。
Calendar类是抽象类,但是提供方法用于获取子类对象
重要方法:
int get(int field) 根据给定的日历字段,获取对应的值
void set(int year,int month,int date) 设置对应的时间
void add(int field,int amount) 根据日历的规则,为给定的日历字段添加或减去指定的时间量
测试代码示例:
import java.util.*;
import java.text.*;
class CalendarDemo
{
public static void main(String[] args)
{
getDays(2014);
}
public static void method()
{
Calendar c = Calendar.getInstance();
String[] mons = {"一月","二月","三月","四月"
,"五月","六月","七月","八月"
,"九月","十月","十一月","十二月"};
String[] weeks = {
"","星期日","星期一","星期二","星期三","星期四","星期五","星期六",
};
int index = c.get(Calendar.MONTH);
int index1 = c.get(Calendar.DAY_OF_WEEK);
sop(c.get(Calendar.YEAR)+"年");
//sop((c.get(Calendar.MONTH)+1)+"月");打印月份另一种方式
sop(mons[index]);//打印月份
sop(c.get(Calendar.DAY_OF_MONTH)+"日");
//sop("星期"+c.get(Calendar.DAY_OF_WEEK));
sop(weeks[index1]);
}
//获取任意一年的2月份的天数
public static void getDays(int year)
{
Calendar c = Calendar.getInstance();
c.set(year, 2, 1); // 表示任意一年的3月1日
c.add(Calendar.DAY_OF_MONTH,-1);//3月1日,往前推一天,就是2月最后一天。
System.out.println("days:" + c.get(Calendar.DATE));
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
5.Math类
Math类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数,是数学操作常用的类。(注:java.lang.Math)
特点:沒有构造方法,都是静态的成员
成员:
PI:比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值。
E:比任何其他值都更接近 e(即自然对数的底数)的 double 值。
操作方法:
abs:绝对值
ceil:大于等于参数的最小整数
floor:小与等于参数的最大整数
round:四舍五入
pow:获取x的y次方的值
sqrt:平方根
random:产生一个大于等于0小于1的随机数
在java.util包中,有一个Random类,他是一个产生随机数的类
构造方法:
Random()默认以系统时间作为随机数生成器的种子
Random(long seed):以固定的seed参数作为随机数生成器的种子
它和Math类中的随机方法大同小异,其随机输出1到50之间的数值代码为:
Random r=new Random();
r.nextInt(50)+1;
Math类常见方法示例:
import java.util.*;
class MathDemo
{
public static void main(String[] args)
{
show();
}
public static void show()
{
double d = Math.ceil(16.34);//ceil返回大于指定数据的最小整数。
double d1 = Math.floor(12.34);//floor返回小于指定数据的最大整数。
long l = Math.round(12.54);//四舍五入
sop("d="+d);//打印结果:d=17.0
sop("d1="+d1);//打印结果:d1=12.0
sop("l="+l);//打印结果:l=13
double d2 = Math.pow(2,3);
sop("d2="+d2);//打印结果:d2=8.0
}
//给定一个小数,保留该小数的后两位。
public static void saveTwo(double d,int scale,boolean isRound)
{
double base = Math.pow(10,scale);//10的scale次方
double num = isRound?Math.round(d*base)/base:((int)(d*base))/base;
sop("num="+num);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
个人总结
JAVA中的一个工具类给我们在编写代码的过程中提供了不少的方便,各种方法较多不用强记,在实际使用中可以查找API文档。还有我们不仅要明白这个功能可以实现什么效果,还要明白这些方法是怎么去实现的这些效果。