——- android培训、java培训、期待与您交流! ———-
一 Runtime类
Runtime对象
该类并没有提供构造函数
说明不可以new对象 那么会直接想到该类中的方法都是静态的
发现该类中还有非静态方法
说明该类肯定会提供了方法获取本类对象,而且该方法是静态的,并返回值类型是本类类型
由这个特点可以看出该类使用了单例设计模式完成
示例代码:
class RuntimeDemo
{
public static void main(String[] args)throws Exception
{
Runtime r = Runtime.getRuntime();
Process p = r.exec("notepad.exe RuntimeDemo.java");
Thread.sleep(4000);
p.destroy();
}
}
运行结果
二 时间类
date类
Date类表示特定的瞬间,精确到毫秒。
java中的默认显示格式为:Mon Jun 10 22:35:21 CST2013
自定义格式:
因为Date类中的大部分方法已过时,所以只能找其子类来实现。子类DateFormat中有format方法可以实现,但是DateFormat是抽象类,不能实例化。但是其下有个SimpleDateFormat子类,可以定义时间模式。
具体步骤:
- 创建Date对象
- 将时间模式封装到SimpleDateFormat对象中
- 调用format方法让格式化模式指定Date对象
代码如下:
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);
}
}
运行结果:
Calendar类
- Calendar是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH等日历字段之间的转换提供了一些方法
- Calendar可以对年月日等时间进行获取。并提供了相应的子段值。
- 获取时间的方法
- 获取年份:Calendar.YEAR
- 获取月份:Calendar.MONTH
- 获取日期:Calendar.DAY_OF_MONTH
- 获取星期:Calendar.DAY_OF_WEEK
- 获取小时:Calendar.HOUR_OF_DAY
- 获取分钟:Calendar.MINUTE
- 获取秒数:Calendar.SECOND
import java.util.*;
import java.text.*;
class CalendarDemo
{
public static void main(String[] args)
{
Calendar c = Calendar.getInstance();
show(c.get(Calendar.YEAR)+"年");
//查表法
String[] mons ={"一月","二月","三月","四月",
"五月","六月","七月","八月",
"九月","十月","十一月","十二月",};
String [] weeks = {"", "星期日","星期一","星期二","星期三","星期四","星期五","星期六",};
int index = c.get(Calendar.MONTH);
int index1 = c.get(Calendar.DAY_OF_WEEK);
//获取并打印日期
show(mons[index]);
show(weeks[index1]);
show(c.get(Calendar.DAY_OF_MONTH)+"日");
}
public static void show(Object obj){
System.out.println(obj);
}
}
运行结果:
为了巩固所学知识。下面是两个小练习,代码如下
/*
练习
1、获取任意年的二月有多少天:
思路:根据指定年设置一个时间就是
c.set(year,2,1)//某一年的3月1日。
c.add(Calenar.DAY_OF_MONTH,-1);//3月1日,往前推一天,就是2月最后一天。
2、获取前一天的现在这个时刻
思路:c.add(Calenar.DAY_OF_MONTH,-1);
*/
import java.util.*;
class CalendarDemo_2
{
public static void main(String[] args)
{
//练习1测试
sop("2016年二月份有"+whatDay(2016)+"天");
//练习2测试
sop("昨天的现在这个时刻:"+lastNowTime());
}
//练习1
public static int whatDay(int year)
{
Calendar c=Calendar.getInstance();
c.set(year,2,1);
c.add(Calendar.DAY_OF_MONTH,-1);
return c.get(Calendar.DAY_OF_MONTH);
}
//练习2
public static String lastNowTime()
{
Calendar c=Calendar.getInstance();
c.add(Calendar.DAY_OF_MONTH,-1);
return pattern(c);
}
//获取指定日期和时间
public static String pattern(Calendar c)
{
String s=year(c)+month(c)+day(c)+week(c)+" "+time(c);
return s;
}
//获取年份
public static int year(Calendar c)
{
return c.get(Calendar.YEAR);
}
//获取月份
public static String month(Calendar c)
{
String[] yue={"一月","二月","三月","四月",
"五月","六月","七月","八月",
"九月","十月","十一月","十二月"};
return yue[c.get(Calendar.MONTH)];
}
//获取日期
public static int day(Calendar c)
{
return c.get(Calendar.DAY_OF_MONTH);
}
//获取星期
public static String week(Calendar c)
{
String[] day={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
return day[c.get(Calendar.DAY_OF_WEEK)];
}
//获取时间,格式为时:分:秒
public static String time(Calendar c)
{
String s=c.get(Calendar.HOUR_OF_DAY)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND);
return s;
}
//打印输出
public static void sop(Object obj)
{
System.out.println(obj);
}
}
运行结果:
三 System类
- System是描述系统一些信息的类,类中的属性和方法都是静态的。不能被实例化,没有提供构造函数。
out:标准输出流。默认是控制台。
in:标准输入流。默认是键盘。 方法列表
- 获取系统的属性信息:
PropertiesgetProperties(); - 获取指定属性信息:
String getProperty(Stringkey); - 在系统内定义特有信息:
String setProperty(Stringkey,String value);
示例代码:
- 获取系统的属性信息:
import java.util.*;
class SystemDemo
{
public static void main(String[] args)
{
Properties p=System.getProperties();//获取当前的系统属性
sop(p);
String value=System.getProperty("os.name");//获取指定键指示的系统属性
sop("os.name="+value);
System.setProperty("wode","My_PC");//设置指定键指示的系统属性信息
sop(p);
String s= System.getProperty("enen");//当系统中没有该键值,返回null
sop(s);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
运行结果: