第一个类 System类
一、概述。
System类是描述系统的类,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。此类中的方法和属性都是静态的,引用时用类名调用。
二、字段摘要。
err:标准输入流。
out:标准输出流。默认是控制台。
in:标准输入流。默认是键盘。
三、方法摘要。
1、返回当前系统的属性。
getProperties() 。
说明:
1)该类的返回类型是 Properties,键值对。因为Properties是hashtable的子类,所以可以通过map的方法取出其中的元素
2)该集合存储的都是字符串,没有泛型定义。
2、 获取指定键指示的系统属性。
String getProperty(String key)
3、 设置指定键指示的系统属性
String setProperty(String key, String value)
示例:
package 泛型;
import java.util.Properties;
/**
* 确定当前的系统属性 返回值Propertitese getProperties()
* @author ZHANGYU
*
*/
public class SystemTest {
public static void main(String[] args){
Properties p=System.getProperties();
//因为Properties是hashtable的子类,所以可以通过map的方法取出其中的元素
//该集合中存储的都是字符串类型的数据
for(Object k:p.keySet()){
String s=(String)p.get(k);
System.out.println(k+"::"+s);
}
}
}
第二个类 Runtime类
一、概述。
1、每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时。 应用程序不能创建自己的 Runtime 类实例。
2、该类并没有提供构造函数,说明不可以直接new对象,那么会直接想到该类的方法是静态方法。发现该类中还有非静态方法,说明该类肯定会提供方法来获取本类对象,而且该方法是静态的,并返回值类型是本类类型。
3、由这个特点可以看出该类使用了单例设计模式完成,保证对象的唯一性。
二、方法。
1、获取本类对象。
Static Runtime getRuntime();
2、在单独的进程中执行指定字符串命令。
Process exec(String command);
3、在Process中有一个杀掉子进程的方法,可将exec方法开启的进程结束。
void destroy();
示例:
package 泛型;
/*
* Runtime对象
*
* 该类并没有提供构造函数,
* 说明不可以直接new对象,那么会直接想到该类的方法是静态方法
* 发现该类中还有非静态方法
* 说明该类肯定会提供方法来获取本类对象,而且该方法是静态的,并返回值类型是本类类型
* 由这个特点可以看出该类使用了单例设计模式完成,保证对象的唯一性
* 该方法是:
* Static Runtime getRuntime()
*
*/
public class RuntimeTest {
public static void main(String[] args) throws Exception{
Runtime r=Runtime.getRuntime();
Process p=r.exec("notepad.exe");//打开此软件
// p.destroy();//杀掉子进程,也就是关闭进程。
}
}
第三个类 时间类
一、Date类
1、概述。
此类表示特定的瞬间,精确到毫秒。
时间的默认格式:Sun May 31 19:08:07 CST 2015。
2、自定义时间格式。
Date的子类DateFormat有自定义格式的方法,但是DateFormat是抽象类,不能实例化。但是其下有个SimpleDateFormat子类,可以定义时间模式。
示例:
package 泛型;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateTest {
public static void main(String[] args){
Date d=new Date();//创建对象
System.out.println(d);//看不懂时间的格式
//将模式封装到SimpleDateformat对象中
SimpleDateFormat time=new SimpleDateFormat("yyyy年mm月dd日 hh:MM:ss:S");
//调用format方法让模式格式化指定Date对象。
String s=time.format(d);
System.out.println(s);
}
}
二、Calendar类。
1、概述。
该类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
该类还可以获取时间的相应的字段。
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
3、方法。
1)返回给定日历字段的值。
get(int field)
2)根据日历的规则,为给定的日历字段添加或减去指定的时间量:
add(int field, int amount)
示例:
package 泛型;
import java.util.Calendar;
public class CalendaTest {
public static void main(String[] args){
Calendar c=Calendar.getInstance();
int time1=c.get(Calendar.DAY_OF_MONTH);//一月中的几号
sop("time1 "+time1);
int time2=c.get(Calendar.DAY_OF_YEAR);
sop("time2 "+time2);
int time3=c.get(Calendar.HOUR);
sop("time3 "+time3);
int time4=c.get(Calendar.HOUR_OF_DAY);
sop("time4 "+time4);
int time5=c.get(Calendar.JANUARY);//指示在格里高利历和罗马儒略历中一年中第一个月的 MONTH 字段值。
sop("time5 "+time5);
int time6=c.get(Calendar.YEAR);
sop("time6 "+time6);
int time7=c.get(Calendar.WEEK_OF_MONTH);
sop("time7 "+time7);
int time8=c.get(Calendar.MINUTE);
sop("time8 "+time8);
int time9=c.get(Calendar.MONTH);//月份是从零开始的,星期是从星期天开始的,可以使用查表法经行显示。
sop("time9 "+time9);
int time10=c.get(Calendar.WEDNESDAY);
sop("time10 "+(time10+1));
int time11=c.get(Calendar.WEEK_OF_MONTH);
sop("time11 "+time11);
c.add(Calendar.YEAR, 1);//年份加一
sop(c.get(c.YEAR));
c.add(Calendar.MONTH,1);//月份加一
sop(c.get(c.MONTH)+1);
c.set(2015, 2,1);//设置的是某一年的三月一日
c.add(c.DAY_OF_MONTH,-1);
sop(c.get(Calendar.DAY_OF_MONTH));
}
private static void sop(Object obj) {
// TODO Auto-generated method stub
System.out.println(obj);
}
}
第四个类 Math类
一、概述。
该类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
二、方法。
1、double ceil(double d);//返回大于指定数据的最小整数
2、double floor(double d);//返回小于指定数据的最大整数
3、double pow(doublea,double b);//返回a的b次方
4、long round(doubleb);//返回b四舍五入的值
5、static double random() ;//返回返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
“`
package 泛型;
public class MathTest {
public static void main(String[] args){
double d;
d=Math.ceil(18.2);//返回大于指定数据的最小整数
sop(d);
d=Math.ceil(-18.2);
sop(d);
d=Math.floor(12.4);//返回小于指定数据的最大整数
sop(d);
d=Math.floor(-12.5);
sop(d);
d=Math.round(12.3);//四舍五入
sop(d);
d=Math.round(12.5);
sop(d);
d=Math.pow(2, 3);//幂数运算
sop(d);
d=Math.random();//产生一个伪随机数数字大于等于0.0小于1.0
sop(d);
d=(int)(Math.random()*10)+1;//产生1到10的数据
sop((int)d);
decimal();//保留二位小数。
}
private static void decimal() {
// TODO Auto-generated method stub\
double d=12.23454;
double d1=d*Math.pow(10,2);//先将要保留的小数位变为整数
long l=Math.round(d1);//将小数四舍五入
sop(l/Math.pow(10,2));//返回保留了指定小数位的小数
}
private static void sop(Object obj) {
// TODO Auto-generated method stub
System.out.println(obj);
}
}