《黑马程序员》java笔记->常用API

来源:互联网 发布:波段买卖点源码 编辑:程序博客网 时间:2024/05/22 10:54
一、System 详细信息见JDK1.6
1、System:类中的方法和属性都是静态的。
out:标准输出,默认是控制台。
in:标准输入,默认是键盘。
描述系统一些信息。


2、获取系统属性信息:public static Properties getProperties()
其中Properties是继承了Hashtable的子类,所以也就实现了Map。
其中存储的是系统信息名称与其值的键值对。
因为Properties是Hashtable的子类,也就是Map集合的一个子类对象。
那么可以通过map的方法取出该集合中的元素。
该集合中存储都是字符串,没有泛型定义。
示例:
import java.util.*;
class SystemDemo 
{
public static void main(String[] args) 
{


Properties prop = System.getProperties();
//如何在系统中自定义一些特有信息呢?
System.setProperty("mykey","myvalue");
//获取指定属性信息。
String value = System.getProperty("os.name");
System.out.println("value="+value);


//可在jvm启动时,动态加载一些属性信息
String v = System.getProperty("haha");


System.out.println("v="+v);


/*
//获取所有属性信息。
for(Object obj : prop.keySet())
{
String value = (String)prop.get(obj);
System.out.println(obj+"::"+value);
}
*/




二、Runtime
Runtime对象,该类并没有提供构造函数。
说明不可以new对象。那么会直接想到该类中的方法都是静态的,发现该类中还有非静态方法。
说明该类肯定会提供了方法获取本类对象。而且该方法是静态的,并返回值类型是本类类型。
由这个特点可以看出该类使用了单例设计模式完成。
该方式是static Runtime getRuntime();
示例:
class  RuntimeDemo
{
public static void main(String[] args) throws Exception
{
Runtime r = Runtime.getRuntime();
Process p = r.exec("notepad.exe  SystemDemo.java");//调用执行一个本地程序
Thread.sleep(4000);
p.destroy(); //进程的销毁
}
}

注:Process没有作为抽象类,没有继承它的子类,因为Process的对象是由本地方法创建的。

三、Date
Date可以创建一个时间的对象,格式化需要使用DateFormat的子类SimpleDateFormat。
public SimpleDateFormat(String pattern)//pattern表示模版,模版创建方式可以参见Jdk1.6
示例:
import java.util.*;
import java.text.*;
class DateDemo 
{
public static void main(String[] args) 
{
Date d = new Date();
System.out.println(d);//无格式打印时间


//将模式封装到SimpleDateformat对象中。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日E hh:mm:ss");

//调用format方法让模式格式化指定Date对象。
String time = sdf.format(d);
System.out.println("time="+time);
long l = System.currentTimeMillis();//以毫秒的方式返回当前时间
Date d1 = new Date(l);//创建以毫秒为单位的时间
System.out.println("d1:"+d1);//输出多少毫秒。
}
}

四、Calendar
日期类,有关日期的各种操作
构造方法是受保护的,无法实例化,需要getInstance方法来创建对象。
public int get(int field)//获取日期
public void set(int field, int value)//设置日期
    public abstract void add(int field, int amount)//修改日期。
    有重载方法,具体参见jdk                


注:日期中的各个参数都是从0开始算起的,所以打印输出时需要加1.
最优是使用查表法。
示例:
import java.util.*;
import java.text.*;
class  CalendarDemo
{
public static void main(String[] args) 
{


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]);


}


public static void sop(Object obj)
{
System.out.println(obj);
}
}

五、Math
提供了一些基本的数学运算的方法。
1、常见方法:
public static double ceil(double a)//返回大于指定数据的最小整数
public static double floor(double a)//返回小于指定数据的最大整数
public static long round(double a)//四舍五入
public static double pow(double a,double b)//指数方法,a为基数,b为指数
                         


2、重要方法:
public static double random()//产生一个随机数
3、java还提供了一个Random类,专门用来产生随机数。
原创粉丝点击