一、System类
1、概述
System是描述系统一些信息的类,类中的属性和方法都是静态的。不能被实例化,没有提供构造函数。
out:标准输出流。默认是控制台。
in:标准输入流。默认是键盘。
2、方法
a、获取系统的属性信息:
Properties getProperties();
说明:
1)此方法返回的双列集合,即键值对;因为Properties是Hahstable的子类,也就是Map集合的一个子类对象,那么通过Map方法取出该集合中的元素。
2)该集合存储的都是字符串,没有泛型定义
b、获取指定属性信息:
String getProperty(String key);
c、在系统内定义特有信息:
String setProperty(String key,String value);
d、如何在jvm启动时,加载一些属性信息:
通过命令:java -D<name>=<value>可以设置特有的系统属性信息
out:标准输出流。默认是控制台。
in:标准输入流。默认是键盘。
2、方法
a、获取系统的属性信息:
Properties getProperties();
说明:
1)此方法返回的双列集合,即键值对;因为Properties是Hahstable的子类,也就是Map集合的一个子类对象,那么通过Map方法取出该集合中的元素。
2)该集合存储的都是字符串,没有泛型定义
b、获取指定属性信息:
String getProperty(String key);
c、在系统内定义特有信息:
String setProperty(String key,String value);
d、如何在jvm启动时,加载一些属性信息:
通过命令:java -D<name>=<value>可以设置特有的系统属性信息
代码示例:
<span style="font-family:Microsoft YaHei;font-size:14px;">import java.util.*;
class SystemDemo
{
public static void main(String[] args)
{
Properties p = System.getProperties();//获取系统的属性信息
System.setProperty("mykey","myvalue");//在系统内定义特有信息
for(Object obj:p.keySet())
{
String value = (String)p.get(obj);
System.out.println(obj+"----"+value);
}
System.out.println("os.name----"+System.getProperty("os.name"));//获取指定属性信息
}
}</span>
二、Runtime类
1、概述
每个java应用程序都有一个Runtime类实例,使用应用程序能与其中运行的环境相连接,应用程序不能创建自己的Runtime类的实例,是由系统底层自己创建的。该类使用了单例设计模式完成。
2、方法
a、获取本类对象
static Runtime getRuntime();
b、在单独的进程中执行指定字符串命令
Process exec(String command);
c、在Process中有一个杀掉子进程的方法,可将exec方法开启的进程结束
void destroy();
2、方法
a、获取本类对象
static Runtime getRuntime();
b、在单独的进程中执行指定字符串命令
Process exec(String command);
c、在Process中有一个杀掉子进程的方法,可将exec方法开启的进程结束
void destroy();
代码示例:
<span style="font-family:Microsoft YaHei;font-size:14px;">class RuntimeDemo
{
public static void main(String[] args) throws Exception
{
Runtime r = Runtime.getRuntime();//获取本类对象
Process p = r.exec("notepad.exe ForEachDemo.java");//用记事本打开指定文件
Thread.sleep(4000);//让线程等待4秒
p.destroy();//杀掉自己启动的进程
}
}</span>
三、Date类
1、概述
Date类表示特定的瞬间,精确到毫秒。
java中的默认显示格式为:Mon Jun 10 22:35:21 CST 2013
2、自定义格式
具体步骤:
1)创建Date对象
2)将时间模式封装到SimpleDateFormat对象中
3)调用format方法让格式化模式指定Date对象
Date类表示特定的瞬间,精确到毫秒。
java中的默认显示格式为:Mon Jun 10 22:35:21 CST 2013
2、自定义格式
具体步骤:
1)创建Date对象
2)将时间模式封装到SimpleDateFormat对象中
3)调用format方法让格式化模式指定Date对象
代码示例:
<span style="font-family:Microsoft YaHei;font-size:14px;">import java.util.*;
import java.text.*;
class DateDemo
{
public static void main(String[] args)
{
Date d = new Date();//创建Date对象
System.out.println(d);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String time = sdf.format(d);
System.out.println(time);
}
}</span>
四、Calendar类
1、概述:
1)Calendar是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH等日历字段之间的转换提供了一些方法。
2)Calendar可以对年月日等时间进行获取。并提供了相应的子段值。可参阅API文档。
2、方法:
2.1、基本获取时间
1)获取年份:Calendar.YEAR
2)获取月份:Calendar.MONTH //值为实际月份-1
3)获取日期:Calendar.DAY_OF_MONTH
4)获取星期:Calendar.DAY_OF_WEEK //值为实际星期+1
5)获取小时:Calendar.HOUR_OF_DAY
6)获取分钟:Calendar.MINUTE
7)获取秒数:Calendar.SECOND
2.2、设置时间:
1)根据日历的规则,为给定的日历字段添加或减去指定的时间量:
void add(int field,int amount);
2)获取指定的日历字段对应的时间值:
int get(int field);
3)将给定日历字段对应的时间值设置为给定值:
void set(int field,int value);
设置日历字段 YEAR、MONTH和DAY_OF_MONTH的值:
void set(int year,int month,int date);
1)Calendar是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH等日历字段之间的转换提供了一些方法。
2)Calendar可以对年月日等时间进行获取。并提供了相应的子段值。可参阅API文档。
2、方法:
2.1、基本获取时间
1)获取年份:Calendar.YEAR
2)获取月份:Calendar.MONTH //值为实际月份-1
3)获取日期:Calendar.DAY_OF_MONTH
4)获取星期:Calendar.DAY_OF_WEEK //值为实际星期+1
5)获取小时:Calendar.HOUR_OF_DAY
6)获取分钟:Calendar.MINUTE
7)获取秒数:Calendar.SECOND
2.2、设置时间:
1)根据日历的规则,为给定的日历字段添加或减去指定的时间量:
void add(int field,int amount);
2)获取指定的日历字段对应的时间值:
int get(int field);
3)将给定日历字段对应的时间值设置为给定值:
void set(int field,int value);
设置日历字段 YEAR、MONTH和DAY_OF_MONTH的值:
void set(int year,int month,int date);
代码示例:
<span style="font-family:Microsoft YaHei;font-size:14px;">import java.util.*;
import java.text.*;
class CalendarDemo
{
public static void main(String[] args)
{
Calendar c = Calendar.getInstance();
printCalendar(c);
c.add(Calendar.YEAR,5);
printCalendar(c);
c.add(Calendar.MONTH,10);
printCalendar(c);
c.add(Calendar.DAY_OF_MONTH,-23);
printCalendar(c);
c.set(2010,7,10);
printCalendar(c);
}
public static void printCalendar(Calendar c)
{
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)-1));
sop(weeks[index1]);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}</span>
运行结果:
五、Math类
1、概述
Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。该类全为静态方法。
2、方法
double ceil(double d);//返回大于指定数据的最小整数
double floor(double d);//返回小于指定数据的最大整数
double pow(doublea,double b);//返回a的b次方
long round(doubleb);//返回b四舍五入的值
double random();//返回正号的double值,是一个大于等于0.0且小于1.0的随机数
3、Random类
这是java.util中的一个单独的类,该类对象用于获取随机数。与Math中的random方法是一样的,不过这个类有自身的方法,可以将相应的随机数强转为指定基本数据类型。
如:int nextInt(int n);//返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int值。
Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。该类全为静态方法。
2、方法
double ceil(double d);//返回大于指定数据的最小整数
double floor(double d);//返回小于指定数据的最大整数
double pow(doublea,double b);//返回a的b次方
long round(doubleb);//返回b四舍五入的值
double random();//返回正号的double值,是一个大于等于0.0且小于1.0的随机数
3、Random类
这是java.util中的一个单独的类,该类对象用于获取随机数。与Math中的random方法是一样的,不过这个类有自身的方法,可以将相应的随机数强转为指定基本数据类型。
如:int nextInt(int n);//返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int值。
代码示例:
<span style="font-family:Microsoft YaHei;font-size:14px;">import java.util.*;
class MathDemo
{
public static void main(String[] args)
{
double d = Math.ceil(12.34);//ceil返回大于指定数据的最小整数。
sop("d="+d);
double d1 = Math.floor(12.34);//floor返回小于指定数据的最大整数。
sop("d1="+d1);
long l = Math.round(12.67);//四舍五入。
sop("l="+l);
double d2 = Math.pow(2,4);
sop("d2="+d2);
sop("----------------------------------------");
//随机数Math.random()
System.out.print("( ");
for (int x=0; x<10; x++)
{
int n =(int)( Math.random()*10+1);
System.out.print(n+" ");
}
System.out.print(")");
sop("");
//随机数Random类
System.out.print("( ");
Random r = new Random();
for (int x=0; x<10; x++)
{
int n = r.nextInt(10)+1;
System.out.print(n+" ");
}
System.out.print(")");
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}</span>
运行结果: